润乾 V4 查询时 20 条一页导出时 5w 一页来进行分页
今天遇到一个需求,需要在查询的时候 20 条一页 导出的时候 5w 一页来进行分页 设计器版本为 V4.5
解决办法为在 showReport.jsp 里面增加大报表的标签 autoBig。
Autobig 实现原理:
把报表根据每页展现行数,以及从数据库里获取的最大行数,分成 n 页,然后把所有页的报表定义组成一个报表组,利用报表组实现了逐页计算逐页输出功能。
使用 autobig 标签需要配置 reportConfig.xml 文件中 alwaysReloadDefine 为 no,启用缓存。
此项设置的目的是使得设置的缓存页数 cachePageNum 生效。实现展现、翻页、打印、导出都是逐页计算逐页输出的
具体代码为:
<table align="center" width="100%" height="100%">
<tr><td align=center valign=top height=100%>
<report:autoBig
name="report1"
reportFileName="<%=report%>"
dbType="oracle"
dsName="ds1"
totalCountExp=""
pageCount="20"
cachePageNum="500"
exportExcelOneSheet="false"
countPerExportPage="50000"
needScroll="yes"
scrollHeight="80%"
scrollWidth="80%"
exceptionPage="/reportJsp/myError2.jsp"
appletJarName="runqianReport4Applet.jar,dmGraphApplet.jar"
/>
</td></tr>
</table>
其中:
pageCount——每页记录数(非必填) 分页后每一页包含的记录数,其值需为整数。 默认值为 20。
cachePageNum——缓存页数(非必填) 根据 pageCount 和 cachePageNum,每次取 pageCount* cachePageNum 条记录,其值需为整数,默认值为 100
exportExcelOneSheet=“false” 是用于设置导出 excel 分页 true 为不分页
countPerExportPage=“50000” 这个标签的值是导出的数量为 50000 条。