FineReport提供了强大的输入输出功能,所有的这些输入输出的类都在com.fr.report.io包里面。报表的输入指从报表的模板文件(XML格式的)创建WorkBook对象,在报表调用章节已经介绍过。输出则指将报表保存为各种格式文件,FineReport支持将报表保存为cpt、内置数据cpt、Pdf、Excel、Word、Svg、Csv等多种文件格式,释放导出进程
1. 实现原理
我们以Parameter.cpt模板作为被导出模板,参数为报表参数,且设置默认值为华东。
1.1 导出成内置数据集模板
导出成内置数据集模板,故名思意是将原模板的数据源根据参数条件查询出结果并转为内置数据集,然后把模板导出,不需要对原模板进行计算(数据列扩展、公式计算等)。
1.2 导出模板文件
我们可以将原模板通过程序编辑后再次导出为模板文件,或者将某一路径下的模板保存至另一路径下。
1.3 导出Excel文件
模板工作薄WorkBook执行后为结果工作薄ResultWorkBook,我们可以把计算后的结果导出成Excel文件。
注:如果需要导出2007版excel,需要将ExcelExporter ExcelExport = new ExcelExporter()改成Excel2007Exporter excelexporter = new Excel2007Exporter(),具体代码如下:
1.4 导出Word文件
注:FineReport报表导出Word不支持导出悬浮元素,因此若您需导出的模板中包含有悬浮元素如图表,请将其改为单元格元素。
1.5 导出Pdf文件
1.6 导出Txt文件
1.7 导出Csv文件
1.8 释放进程
通过导出API在后台导出excel等文件,会产生很多进程,通过下面的方案释放进程。
在导出完成之后添加下面代码:
2. 示例
2.1 完整可执行代码
编译运行该代码后,就会在E盘下生成不同格式的文件,这样就导出成功了。
注:在使用API导出不同类型文件时,除了需要导入FineReport的fr-third-7.0.jar和fr-server-7.0.jar两个包之外,还需要导入tomcat\lib下面的serverlet-api.jar。
索引:
返回顶部