关于文档导出,我一直都很好奇,现在终于有空进行了研究,并且总结。在这次实现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] 纯文本查看 复制代码
1
2
3
4
|
//创建Excel文件(Workbook)
Workbook wb = new HSSFWorkbook();
//创建工作表(Sheet)
Sheet sheet = wb.createSheet();
|
(2)创建单元格
[Java] 纯文本查看 复制代码
1
2
3
4
|
// 创建行,从0开始
Row row = sheet.createRow( 0 );
// 创建行的单元格,从0开始
Cell cell = row.createCell( 0 );
|
(3)设置单元格格式
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
|
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] 纯文本查看 复制代码
1
2
|
//设置行高
title_row.setHeight(( short ) 800 );
|
(5)合并单元格
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
|
//合并单元格
[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] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
|
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] 纯文本查看 复制代码
1
2
3
|
Cell cell = row.createCell( 0 );
//设置单元格内容
cell.setCellValue( "单元格内容" );
|
4.引入相关jar包
5.实现数据导出
首先创建了excel文件,并进行了表头,单元格格式,边框等一系列设置,在导出文件时,使用了通过时间创建文件的方式,给文件命名,结束后及时关闭了文件流。
更多Java学习资料可关注:gzitcast