使用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閱讀 172,841評論 25 708
  • 曾經有一份美好的愛情放在我的面前我沒有珍惜。等到失去后才后悔莫及。如果可以再對小李說。毛欣想說。這輩子無緣再牽手。...
    毛欣與小李閱讀 2,653評論 0 13
  • 這是路過圖書館,想起的一段故事,之前故事寫得太潦草,所以撤回來認真寫 “韓東則,十年了,我來回答你當年那個問題,你...
    古夢閱讀 200評論 0 0
  • 需要重啟 adb可以用命令行,也可以在monitor中reset;或者使用命令:
    利312閱讀 418評論 0 1