1. 概述
1.1 问题描述
在实际的应用中会经常需要将数据导出成 Excel,在 Excel导出多种方式 文档中,我们已经介绍了三种导出方式。
所有的这些导出方式,导出的 Excel 均为 2003 版,但是,2003 版的 Excel 限制了每个 sheet 的最大行数和列数,导出大数据量数据时就得分多个 sheet,影响使用,而 Excel2007 却不会出现这样的问题,那么怎样才能导出 2007 版本的 Excel 呢?
注1:以下方案针对的是 2016 年 10 月 10 日之前的 JAR 包,才需要导入 poi 包,2016 年 10 月 10 日以后的 包JAR ,poi 包已经内置到 third 包。
注2:不支持移动端。
1.2 解决方案
导出 2007 版本 Excel 同导入 2007 版本一样,须得导入一个 JAR 包 poi2007_fat.jar。
需要将 poi2007_fat.jar 拷贝至%FR_HOME%\webapps\webroot\WEB-INF\lib下
注1:FineReport 10.0 设计器支持 JDK 版本:JDK 1.8 且小版本需在 JDK8u102 以上。
2016 年 8 月 26 日以前的 JAR 包,下载:poi2007_fat.rar
2016 年 8 月 26 日-2016 年 10 月 10 日,下载:新poi2007_fat.rar
2016 年 10 月 10 日以后的 JAR 包,poi 包已经内置到 third 包,无需下载。
2. 示例
在导入 poi2007 fat.jar 之前,FineReport 默认的导出的 Excel 的后缀名为 .xls,即 2003 版本 Excel,以设计器导出为例,如下图所示:
在导入 poi2007 fat.jar 之后,FineReport 支持导出 2007 版本的 Excel,默认的导出后缀名为 .xlsx,即 2007 版本 Excel,以设计器导出为例,如下图所示:
注:如果开启了行式引擎,Excel 导出格式仍为 2003 版本。
注:在上面描述中提到的3中导出方式的默认导出格式均同上。