當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

Excel直接轉成模板cpt

1. 問題描述

存在很多 Excel 文件,要将它們轉成 cpt 模板,不想通過設計器手動一張張導入,希望用程序在後台批量轉換。


2. 解決方案

通過程序讀取 Excel 文件轉爲模板 TemplateWorkBook,然後把模板輸出爲 cpt 文件。


3. 示例

3.1 讀取 Excel 文件轉爲模板

TemplateWorkBook


File excelFile = new File("D:\\aa.xlsx"); // 獲取EXCEL文件
FileInputStream a = new FileInputStream(excelFile);


3.2 再輸出成 cpt 文件

2003 版 xcel


TemplateWorkBook tpl = new ExcelReportImporter().generateWorkBookByStream(a);
OutputStream outputStream = new FileOutputStream(new File("D:\\abc.cpt")); // 轉換成cpt模板
((WorkBook) tpl).export(outputStream);

2007 版 Excel


TemplateWorkBook tpl = new Excel2007ReportImporter().generateWorkBookByStream(a);
OutputStream outputStream = new FileOutputStream(new File("D:\\abc.cpt")); // 轉換成cpt模板
((WorkBook) tpl).export(outputStream);


3.3 準備 Excel 文件

222

分别另存爲 aa.xls 和 aa.xlsx 到對應的路徑,下面的代碼中需要根據實際 Excel 文件存放的路徑修改


3.4 2007 版 Excel 完整代碼如下:

注:這裏以 xlsx 代碼爲例,xls 代碼按照 3.2 進行修改,并修改 import 包即可

在一般情況下,若您希望在FineReport設計器基礎上進行二次開發,我們可以在 Eclipse 或 IDEA 中通過調用 FineReport 啓動類來啓動設計器,以便於開發過程中的調試和二次開發的準備。

注意需要引入 FineReport 設計器下的 JAR 包,詳細點擊 編譯Java程序

注:定義報表運行環境需要根據實際設計器的安裝路徑,比如安裝在 C 盤,即 String envPath = "C://FineReport_10.0//webapps//webroot//WEB-INF" 

另:Excel 文件路徑也需要根據實際情況修改,例如文件在 D 盤,即D:\\aa.xlsx

代碼詳見:

https://code.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/io/ExcelToCpt.java


3.4 編譯并運行

編譯并運行該程序,就會在對應路徑下導出 abc.cpt 模板文件,我們用設計器打開模板,可以看到,Excel 裏面的數據已經保存至模板文件裏面了。

222

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s後關閉

反饋已提交

網絡繁忙