一,准备工作
在对表格进行操作之前需要引入三个jar包,分别是:
poi-3.9-20121203.jar
poi-ooxml-3.9-20121203.jar
poi-ooxml-schemas-3.9-20121203.jar
还有一些poi一些基本的操作
1.取得sheet的数目
wb.getNumberOfSheets()
2.取得有效行数
int rowcount = sheet.getLastRowNum();
3.取得一行内有效单元格数
row.getLastCellNum();
接下来具体分析。
二。开始利用poi读取表格内容
//设置要读取的文件路径,b.xls是在其工作空间目录下,如果b.xls不存在,它没有自行创建一个名为b.xls的文件
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("b.xls"));
//HSSFWorkbook相当于一个excel文件
HSSFWorkbook wb = new HSSFWorkbook(fs);
//获得sheet工作簿
HSSFSheet sheet = wb.getSheetAt(0);
//首先遍历前四行
for (int i = 1;i < 4;i++){
HSSFRow row = sheet.getRow(i);
//获得行中的第一列,即单元格
HSSFCell ReadCell = row.getCell(0);
//获得单元格中的值,如果该单元格的值为数字,则使用getNumericCellValue,使用错误会报错
String msg = ReadCell.getStringCellValue();
//单元格内的值
System.out.println(msg );
}
这样就可以依次输出表格内1-4行第一个单元格内的数据
三、利用poi对表格进行写入
// 创建文件输出流,输出电子表格
FileOutputStream fos = new FileOutputStream("d:/test.xls");
HSSFWorkbook wb = new HSSFWorkbook();
//创建sheet工作簿
HSSFSheet s = wb.createSheet();
//设置sheet工作簿名称
wb.setSheetName(0, "second sheet");
for(int i=0;i<10;i++){
//创建行
HSSFRow row = s.createRow(i);
for(int j=0;j<10;j++){
//创建单元格
HSSFCell cell = row.createCell(j);
//为单元格内写入值
cell.setCellValue("Hello!");
}
}
wb.write(fos);
fos.close();
这样一个简单的poi对于表格的操作就完成了,但是poi操作表格的功能不止于此,还有为单元格设置格式、设置字体和内容位置、设置图片等等。
本周刚开始对于的poi操作的学习仅仅只是浅尝辄止,后续将会继续研究和学习,确保以后可以熟练使用。