使用ITEXT创建word表格

最近在写新项目,其中遇到了比较好玩的要求,就是要把统计功能中的图表和表格导出去。在选择用什么方案解决问题 ,使用了POI导出EXCEL,导出的图表看起来不好看,背景有方格就弃用了,最后敲定了用ITEXT框架来写。使用Itext的jar分别是:com.lowagie.itext.2.1.7和com.lowagie.itext-rtf.2.1.7。

/**
* word创建表单
*@param tableDatas真实数据集合
*@param columns标题
*@param imagePath文件地址
*@param wordFileName 文档名字
*/
public String itextCreateTable(List tableDatas,String[] columns ,String wordFileName){
booleanbool =true;
try{
//把文件放到桌面上
File desktopDir = FileSystemView.getFileSystemView().getHomeDirectory();
String desktopPath = desktopDir.getAbsolutePath();
Document document =newDocument(PageSize.A4.rotate());
RtfWriter2.getInstance(document, newFileOutputStream(desktopPath+"\\"+wordFileName+".doc"));
document.open();
//创建多个表格
Table aTable =newTable(columns.length);
for(String s:columns) {
//把表格上方的标题创建出来
aTable.addCell(newCell(s));
}
//把数据填写到表格中,只要够了表格数量会自动换行
for(TableData tableData : tableDatas){
aTable.addCell(newCell(tableData.getKey()));
for(String number:tableData.getValue()) {
aTable.addCell(newCell(number));
}
}
document.add(aTable);
document.add(newParagraph("\n"));
document.close();
}catch(Exception e) {
bool =false;
e.printStackTrace();
}
if(bool){
return"导出成功(在桌面)";
}else{
return"请关闭word文档,再重新导出";
}
}

tableDatas={"总投资(万元)",[ 1,2,3,4,5,6,7,8,9]}
columns = ["项目类别", "实施方案", "规划环评","大纲+报告书","仅大纲","报告书","报告表","补充报告","补充报告书","补充报告表"]
这两个数据都是在页面处理传到后台

1.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,357评论 25 708
  • 曾经有一份美好的爱情放在我的面前我没有珍惜。等到失去后才后悔莫及。如果可以再对小李说。毛欣想说。这辈子无缘再牵手。...
    毛欣与小李阅读 2,661评论 0 13
  • 这是路过图书馆,想起的一段故事,之前故事写得太潦草,所以撤回来认真写 “韩东则,十年了,我来回答你当年那个问题,你...
    古梦阅读 200评论 0 0
  • 需要重启 adb可以用命令行,也可以在monitor中reset;或者使用命令:
    利312阅读 425评论 0 1