1、加载Excel模板POIFSFileSystem(管理文件的整个生命周期)、
HSSFWorkbook(Excel工作薄),是操作Excel工作薄(包括读和写)以及创建Sheet等的首要对象。
通过这两个类来加载Excel模板。
示例代码
POIFSFileSystem fs=null;
try {
fs = new POIFSFileSystem(this.getClass().getResource(url).openStream());
this.workbook=new HSSFWorkbook (fs);
} catch (IOException e) {
e.printStackTrace();
}
得到HSSFWorkbook对象后,就可以对Excel进行需要的操作。
2、常用的操作EXCEL的几个对象HSSFWorkbook(Excel工作薄)
HSSFRow 行对象
HSSFCell 单元格
HSSFSheet Sheet
3、常用的操作EXCEL的方法Workbook.createSheet(“sheet的名称”);//创建Sheet
Workbook.setSheetName(“sheet的名称”);//改变sheet的名称
Sheet.createRow();//创建行
Row.createCell();//创建单元格
Row.getCell(int i);//取改行的第几个单元格,从0开始计算,如取第一个则为row.getCell(0);在较老的版本中,方法参数是一个short类型的参数。在最新的版本中已改成 int类型。
Cell.setCellValue();//给该单元格赋值。
Workbook,createCellStyle();//创建单元格样式.
Workbook.createFont();//创建字体样式
font.setColor(HSSFColor.RED.index);//设置字体的颜色
cellStyle.setFont(font);//单元格样式采用该font字体样式
4、经验小结
1、 创建多个sheet
在一个EXCEL工作薄中创建多个sheet可以通过workbook.createSheet()方法创建。
如果所有的sheet的样式和布局都是一样的情况下,可以通过workbook.cloneSheet(int i)方法来克隆指定的sheet,从而达到创建多sheet的目的。
2、 关于单元格样式的设置
在较老版本中,通过row.getCell(1).getCellStyle().setFont(font);来设置该单元格的样式,在老版本中,可能会出现改单元格样式时,会影响其他单元格的样式。采用新版的poi jar包,可以解决这个问题。HSSFCellStyle中提供了有用方法cloneStyleFrom可以复制制定单元格的样式。