首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

JAVA导出excel表格

2012-08-29 
JAVA导出excel报表?A)下载地址http://poi.apache.org/download.htmlB)使用方式?????? 1、准备一个简单的exc

JAVA导出excel报表

?

A)下载地址http://poi.apache.org/download.html

B)使用方式

?????? 1、准备一个简单的excel文档(静态的数据都先填写上去),放入到项目src路径下中

?????? 2、在action中读取excel文档,并创建一个excel文档对象

????????????? String filename =PropertyUtil.getPropertyValue(“配置文件路径”)+”文件名”;

????????????? HSSFWorkbook wb = newHSSFWorkbook(new FileInputStream(filename));

?????? 3、获取每一个分页的对象文档中默认有三个sheet,默认第一个下角标为0。? ????????????? ?????? HSSFSheetsheet0 = wb.getSheetAt(0);//获取第一个sheet。1,2表示后面两个

?????? 4、动态加入数据

????????????? 1、创建一个行

???????????????????? Row row = sheet0.createRow(“第几行”);

????????????? 2、在这一行创建一个单元格

???????????????????? Cell cell = row.createCell(第几个);

????????????? 3、往里头填数据

???????????????????? cell.setCellValue(“我的数据”);

?????? 5、特效

????????????? 1、单元格合并

???????????????????? Sheet0.addMergedRegion(newCellRangeAddress(四个参数分别表示行,列坐标));//合并这里面的范围到一个单元格中

????????????? 2、单元格样式

???????????????????? Cell.setCellStyle(一个样式对象CellStyle类型);

???????????????????? CellStyle style =wb.createCellStyle();

???????????????????? Style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);

???????????????????? Style.setBorderTop(CellStyle.BORDER_THIN);等等

//还有很多可以查看POI文档

?我们需要在动态的row哪里添加我们的数据

?

?

?

?

?注意一点:就是我的content是使用富文本的,所以他有很多<div>标签,这个导致生成的excel文档中content内容不再同一个单元格里面。所以,我们需要在保存富文本的时候,把<div><br>可以导致换行的string给替换掉

如:content = content.replace("</div>", "<br style='mso-data-placement:same-cell;' />");

【重要】:两个边框问题

1、设置表格内的边框: border="1"

2、表格之外的边框:见代码红色部分;代码红色显示不出来。。

一个是:

?

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

?

另一个是:

<!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name></x:Name><x:WorksheetOptions><x:Selected/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->

?

参考资料:

http://poi.apache.org/

http://www.cnblogs.com/cannel/archive/2011/06/30/2094189.html?

热点排行