报表开发导出各种格式文件的API

本文主要探讨报表开发中各种格式文件的导出,包括PDF、Excel、Word、SVG、CSV、Image等多种类型。通过API实现内置数据集模板、模板文件、Excel、Word、Pdf、Txt、Csv、Svg、Image的导出,并提供释放进程的方法。示例代码展示了如何使用这些API在E盘生成不同格式的文件。
摘要由CSDN通过智能技术生成

         文件输出的多样性,准确性和稳定性对于我们常用的报表软件来说很重要。报表的输入是指从报表的模板文件(XML格式的)创建WorkBook对象,输出则指将报表保存为各种格式文件,比如Pdf、Excel、Word这种常见的文件格式,比如FineReport还支持cpt、Svg、Csv、Image(包含png、 jpg、gif、 bmp、wbmp)等多种文件格式。

         因为常常会碰到报表的开发工作,这里总结了几种格式文件导出的API。

1、导出成内置数据集模板

导出成内置数据集模板,就是将原模板的数据源根据参数条件查询出结果并转为内置数据集,然后把模板导出,不需要对原模板进行计算(数据列扩展、公式计算等)。

// 将未执行模板工作薄导出为内置数据集模板
			outputStream = new FileOutputStream(new File("E:\\EmbExport.cpt"));
			EmbeddedTableDataExporter templateExporter = new EmbeddedTableDataExporter();
			templateExporter.export(outputStream, workbook);

2、导出模板文件

我们可以将原模板通过程序编辑后再次导出为模板文件,或者将某一路径下的模板保存至另一路径下。

// 将模板工作薄导出模板文件,在导出前您可以编辑导入的模板工作薄,可参考报表调用章节
			outputStream = new FileOutputStream(new File("E:\\TmpExport.cpt"));
			((WorkBook) workbook).export(outputStream);

3、导出Excel文件

模板工作薄WorkBook执行后为结果工作薄ResultWorkBook,我们可以把计算后的结果导出成Excel文件。

// 将结果工作薄导出为Excel文件
			outputStream = new FileOutputStream(new File("E:\\ExcelExport.xls"));
			ExcelExporter ExcelExport = new ExcelExporter();
			ExcelExport.export(outputStream, workbook.execute(parameterMap,new WriteActor()));

4、导出Word文件

// 将结果工作薄导出为Word文件
			outputStream = new FileOutputStream(new File("E:\\WordExport.doc"));
			WordExporter WordExport = new WordExporter();
			WordExport.export(outputStream, workbook.execute(parameterMap,
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用帆软报表Java API来调用CPT文件,实现报表导出。具体步骤如下: 1. 导入帆软报表Java API包。 2. 初始化报表引擎,可以使用以下代码: ``` //引入报表引擎 import com.fr.base.FRContext; import com.fr.dav.LocalEnv; import com.fr.env.RemoteEnv; import com.fr.general.FRLogger; import com.fr.report.ReportHelper; import com.fr.report.core.ReportUtils; import com.fr.stable.WriteActor; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; //初始化报表引擎 FRContext.setCurrentEnv(new RemoteEnv("127.0.0.1", 80, "web")); ReportUtils.setWriteActor(new WriteActor()); ReportHelper.initializeWriteEnvironment(); ``` 3. 加载CPT文件,可以使用以下代码: ``` //引入报表引擎 import com.fr.base.Parameter; import com.fr.base.TemplateUtils; import com.fr.report.core.ReportUtils; import com.fr.report.core.Reportlet; import com.fr.report.module.EngineModule; import com.fr.stable.WriteActor; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; //加载CPT文件 String reportPath = "report.cpt"; //报表文件路径 File cptFile = new File(reportPath); Reportlet reportlet = (Reportlet) TemplateUtils.getInstance().readTemplate(cptFile); ``` 4. 给报表设置参数,可以使用以下代码: ``` //设置报表参数 Parameter[] parameters = reportlet.getParameters(); for (Parameter parameter : parameters) { parameter.setValue("parameter_value"); //设置参数值 } ``` 5. 导出报表,可以使用以下代码: ``` //导出报表 OutputStream outputStream = new FileOutputStream("report.pdf"); //输出文件流 reportlet.execute(EngineModule.EXCEL_PAGE, new XMLPrintWriter(outputStream, "UTF-8"), new WriteActor()); outputStream.close(); ``` 以上代码示例仅供参考,具体实现可能需要根据实际情况进行调整。同时,需要注意的是,帆软报表Java API具有一定的复杂性,需要开发者具备一定的Java编程经验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值