在做管理系统的时候,我想Excel的导出是我们很难规避掉的,而且这也是个很实用很人性化的功能。
Java中对于Excel的支持有很多种,比如说JXL,POI等。我这边使用的是POI进行一个Excel的操作,下面我会简单分享下POI组件的使用,以及我使用比较多一个工具类。
POI组件
poi组件是由Apache提供的组件包,主要职责是为我们的Java程序提供对于office文档的相关操作。本文主要是它对于Excel操作的一个介绍。
官方主页:http://poi.apache.org/index.html
API文档:http://poi.apache.org/apidocs/index.html
POI组件基本介绍
使用的时候我们可以发现poi组件为我们提供的操作Excel的相关类都是HSSF开头的,这些类主要是在org.apache.poi.hssf.usermodel这个包下面。里面包涵有像Excel的对象,单元格的样式,字体样式以及部分的工具类。一下介绍几个我们常用的类:
HSSFWorkbook:Excel对象,相当于一个 .xls/.xlsx 文件 HSSFSheet:工作表对象,Excel文件包涵的sheet,一个对象代表一个表单 HSSFRow:表示表格中的行对象。 HSSFCell:表示表格中的单元格对象。 HSSFHeader:Excel文档Sheet的页眉。 HSSFFooter:Excel文档Sheet的页脚。 HSSFDataFormat:日期格式。 HSSFFont:字体对象。 HSSFCellStyle:单元格样式(对齐样式、边框等) HSSFComment:批注(注释)。 HSSFPatriarch:和HSSFComment用于创建注释的位置。 HSSFColor:颜色对象。 HSSFDateUtil:日期辅助工具 HSSFPrintSetup:打印辅助工具 HSSFErrorConstants:错误信息表
POI组件基本操作
1.HSSFWorkbook创建‘Excel文件对象'
//创建Excel对象 HSSFWorkbook workbook = new HSSFWorkbook();
2.使用workbook 对象创建工作表对象
//创建工作表单
HSSFSheet sheet = workbook.createSheet("对象报表");
3.创建行和操作单元格对象
//创建HSSFRow对象 (行)
HSSFRow row = sheet.createRow(0);
//创建HSSFCell对象 (单元格)
HSSFCell cell=row.createCell(0);
//设置单元格的值
cell.setCellValue("单元格中的中文");
4.保存Excel文件
//输出Excel文件
FileOutputStream output=new FileOutputStream("d:workbook.xls");
workbook.write(output);
output.flush();
个性化导出—样式设置
这边我列举出部分常用的样式设置的方法!
1.合并单元格,设置宽、高
// 实例化样式对象
HSSFCellStyle cellStyle = workbook.createCellStyle();
// 两端对齐
cellStyle.setAlignment(HSSFCellStyle.ALIGN_JUSTIFY);
// 垂直居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
// 填充图案---填充方式
cellStyle.setFillPattern(HSSFCellStyle.DIAMONDS);
// 设置前景色 (这个要写在背景色的前面)
cellStyle.setFillForegroundColor(HSSFColor.RED.index);
// 设置背景颜色
cellStyle.setFillBackgroundColor(HSSFColor.LIGHT_YELLOW.index);
// 设置边框
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_SLANTED_DASH_DOT);
// 边框颜色
cellStyle.setBottomBorderColor(HSSFColor.DARK_RED.index);
// 日期展示格式
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
//将样式应用于单元格
cell.setCellStyle(cellStyle);
//将样式应用到行
row.setRowStyle(cellStyle);










