通过java实现excel文档导出

关于文档导出,我一直都很好奇,现在终于有空进行了研究,并且总结。在这次实现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

发布了836 篇原创文章 · 获赞 4 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/u010395024/article/details/105110118
今日推荐