JAVA操作excel的两种方法:分别为:jxl和poi
1、在小数据量时jxl快于poi,在大数据量时poi要快于jxl。但差距都不明显
2、jxl是一个韩国人写的java操作excel的工具,对中文支持比较好,
今天介绍poi方法:
首先要先导入poi的jar包:
读写excel的简单代码如下 :
package testsuite;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.Test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test_excel {
@Test
public void writeexcel() throws Exception{
XSSFWorkbook wwb=new XSSFWorkbook();
//创建工作簿
XSSFSheet sheet=wwb.createSheet("shermin");
//2、创建工作表sheet页,名字是shermin
XSSFRow row=sheet.createRow(0);
//3、创建行;创建第一行,索引从0开始
XSSFCell cell=row.createCell(0);
//4、创建单元格;创建第1行第1列
cell.setCellValue("Hello word001!");
//输出到硬盘,把excel输出到具体的地址
FileOutputStream fileOPT=new FileOutputStream("C:\\Users\\lsq\\Desktop\\test.xlsx");
wwb.write(fileOPT);
wwb.close();
fileOPT.close();
}
@Test
public void readexcel() throws IOException {
FileInputStream FIPSfile=new FileInputStream("C:\\Users\\lsq\\Desktop\\test.xlsx");
//1、读取工作簿
XSSFWorkbook wwb1=new XSSFWorkbook(FIPSfile);
//2、读取第"shermin"工作表,用的是getSheet方法,创建sheet页使用的是createSheet方法
XSSFSheet sheet1=wwb1.getSheet("shermin");
XSSFRow row1=sheet1.getRow(0);
XSSFCell cell1=row1.getCell(0);
//读取单元格;读取第1行第1列
System.out.println(cell1.getStringCellValue());
wwb1.close();
FIPSfile.close();
}
}
注意:
2003版的Excel和2007版的Excel创建对象的类不同:(最好利用正则表达式)
-
// HSSFWorkbook 2003的excel .xls,XSSFWorkbook导入2007的excel .xlsx
-
HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file)));
-
XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(new File(file))));