美文网首页
使用ITEXT创建word表格

使用ITEXT创建word表格

作者: 谷磊 | 来源:发表于2016-11-15 16:44 被阅读597次

    最近在写新项目,其中遇到了比较好玩的要求,就是要把统计功能中的图表和表格导出去。在选择用什么方案解决问题 ,使用了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

    相关文章

      网友评论

          本文标题:使用ITEXT创建word表格

          本文链接:https://www.haomeiwen.com/subject/aqhlpttx.html