历史版本17 :后台批量导出Excel 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

一张报表可以根据不同的条件统计出不同的数据结果,若您希望将每一种条件下的结果都保存下来如导出成 Excel 文件至磁盘,您可以在后台调用 FineReport 的导出接口 ExcelExporter 将每种情况下的结果批量保存起来。以下我们就这种需求详细介绍其制作过程。


2. 原理编辑

通过程序批量导出结果至 Excel,首先是遍历读取 para.txt 中的每组参数值,将该参数值组合传入模板进行计算,然后将结果导出 Excel,循环直至最后一条参数组合。


3. 实现步骤编辑

下面以%FR_HOME%/webapps/webroot/WEB-INF/reportlets/doc/Primary/Parameter/Parameter.cpt目录下参数模板为例。


3.1 参数值组合

由于我们需要对模板输入参数对应的值才能够计算得到最终的结果,因此我们需要所有可能的参数值组合,可以来源于数据库中某个表,或者某个文件。这里我们假设所需的参数值组合保存在%FR_HOME%/webapps/webroot/WEB-INF/para.txt中。如下图新建para.txt

222

注:如果模板有两个参数,格式如下:

222


3.2 批量导出程序

完整代码如下:

https://git.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/io/ExportBatch.java

注:如果导出的 Excel 只有模板的格式,却没有数据,请确认上述代码段中关于定义报表环境的代码是否正确或者存在,如果不正确或者不存在,则会导致 Excel 中没有数据。

上述为示例程序,其中报表运行环境与模板名称等需要根据您实际环境进行修改。

启动设计器,编译运行该程序您便可以得到结果,下载目录下将生成 2 个 Excel 文件,如下:

222

这样批量导出便成功了。