前两天学习了两种java操作excel的方法,对于网站需要创建、修改、导出excel文件,可以使用这两种方法,第一种方法是使用JExcel,第二种方法是使用poi中的HSSF,前一种方法比较简单。这里做个总结。
1.JExcel,需要的jar包jxl.jar
只读文件
Workbook wb=Workbook.getWorkbook(File path)
可读写文件,创建一个新文件
WritableWrokbook wwb=Wrokbook.createWorkbook(String filePath)
主要的层次关系如下
重要的方法:
//设置字体样式
WritableFont font=new WritableFont(WritableFont.TIMES, 15, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat fmt=newWritableCellFormat(font);
fmt.setAlignment(Alignment.CENTRE);
Label label1=new Label(0, 0, "软件工程一班名单", fmt);
sheet.mergeCells(0, 0, 4, 0);//合并单元格
sheet.setRowView(0, 500);//设置第一行的宽度//都是在sheet中实现的
for(int i=1;i
for(int j=0;j
Label label=newLabel(j, i,rsheet.getCell(j, i).getContents());
sheet.addCell(label);
}
DateFormat df=new DateFormat("yyyy-MM-dd");//指定时间的显示方式
WritableCellFormat wcfDF=newWritableCellFormat(df);
DateTime tm=new DateTime(0,rsheet.getRows()+1, newDate(),wcfDF);
sheet.addCell(tm);
wbook.write();
2.POI中的HSSF,其结构和JExcel中的结构差不多
HSSFWorkbook-(createSheet)>HSSFSheet-(createRow)>HSSFRow-(createCell)>HSSFCell,与JExcel不同的是HSSFWorkbook最后才导入到文件流中,而且没有列的对象,由行定位列。
重要的修饰方法:
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
HSSFCellStyle cellStyle=book.createCellStyle();//样式添加
cellStyle.setDataFormat(book.createDataFormat().getFormat("yyyy-MM-dd"));//设置时间表示方式
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
更多方法参照其api文档
2016-04-06 13:23:25