关于文档导出,我一直都很好奇,现在终于有空进行了研究,并且总结。在这次实现excel导出时用到了POI,首先对于POI进行一个简单介绍。
1.POI简介
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
2.POI的功能结构
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
3.Excel中的基本操作
Excel中的操作很多,有文档属性,图片使用,函数调用等,我这里只列出几个常用属性。
(1)创建Workbook和Sheet
[Java] 纯文本查看 复制代码 //创建Excel文件(Workbook)
Workbook wb = new HSSFWorkbook();
//创建工作表(Sheet)
Sheet sheet = wb.createSheet();
(2)创建单元格
[Java] 纯文本查看 复制代码 // 创建行,从0开始
Row row = sheet.createRow(0);
// 创建行的单元格,从0开始
Cell cell = row.createCell(0);
(3)设置单元格格式
[Java] 纯文本查看 复制代码 Cell cell = row.createCell(0);
CellStyle style = wb.createCellStyle();
//设置居中
style.setAlignment(HorizontalAlignment.CENTER);
//设置垂直
style.setVerticalAlignment(VerticalAlignment.CENTER);
//自动换行
style.setWrapText(true);
//设置单元格格式
cell.setCellStyle(style);
(4)设置高度
[Java] 纯文本查看 复制代码 //设置行高
title_row.setHeight((short) 800);
(5)合并单元格
[Java] 纯文本查看 复制代码 //合并单元格
[color=#4d4d4d][font="][size=16px](6)使用边框[/size][/font][/color]
[mw_shl_code=java,true]Cell cell = row.createCell(0);
CellStyle style = wb.createCellStyle();
//设置边框
style.setBorderBottom(BorderStyle.THIN);
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
style.setBorderTop(BorderStyle.THIN);
//设置单元格格式
cell.setCellStyle(style);
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 0));[/mw_shl_code]
(7)设置字体
[Java] 纯文本查看 复制代码 Cell cell = row.createCell(0);
CellStyle style = wb.createCellStyle();
Font font = workbook.createFont();
//设置字体名称
font.setFontName("华文行楷");
//设置字号
font.setFontHeightInPoints((short)28);
//设置字体颜色
font.setColor(HSSFColor.RED.index);
style.setFont(font);
cell.setCellStyle(style);
(7)设置内容
[Java] 纯文本查看 复制代码 Cell cell = row.createCell(0);
//设置单元格内容
cell.setCellValue("单元格内容");
4.引入相关jar包
5.实现数据导出
首先创建了excel文件,并进行了表头,单元格格式,边框等一系列设置,在导出文件时,使用了通过时间创建文件的方式,给文件命名,结束后及时关闭了文件流。
|