反饋已提交

網絡繁忙

當前為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

附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

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

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

不再提示

10s後關閉