您的位置:首页 > 其它

润乾集算报表应用开发之直接导出Excel/PDF文件

2016-12-02 08:38 627 查看
报表应用中有时报表只需生成指定文件,而无需在页面展现,生成的文件常见于Excel、PDF等。由于报表不展现,也就无需使用报表提供的tag,可以直接通过程序导出。集算报表提供了丰富的API,允许开发人员编写代码实现自己的业务逻辑。这里通过在servlet中导出Excel为例来看一下报表不展现而直接导出的实现方式。

定义导出Excel的servlet(ExportToExcel),主要代码如下:

1、接收参数

String report =request.getParameter("rpx");

String year = request.getParameter("year");

2、读入报表

String reportFile =request.getSession().getServletContext().getRealPath("/reportFiles/"+report);

3、读入并计算报表

Context cxt = new Context();

ReportDefine rd =(ReportDefine)ReportUtils.read(reportFile);

cxt.setParamValue("year",
year);

Engine engine = new Engine(rd,
cxt);

IReport iReport = engine.calc();

4、导出Excel

ReportUtils.exportToExcel("D:/result.xls",iReport, true);

根据页面超链接访问上述servlet,并传递参数,如:

http://192.168.1.102:8080/rpx_demo/servlet/ExportToExcel?rpx=order.rpx&year=1996即可直接生成Excel文件,而无需展现报表。

导出的Excel效果如下:



集算报表提供了多个导出Excel的方法,除了可以导出xls格式,也可以导出xlsx格式文件,开发人员可以根据需求选择导出Excel的方法:

ReportUtils.exportToExcel(java.io.OutputStream os, IReport
report,boolean pageBroken);

ReportUtils.exportToExcel(java.io.OutputStream os, IReport
report,boolean pageBroken, int dispRatio);

ReportUtils.exportToExcel(java.lang.String fileName, IReport
report,boolean pageBroken);

ReportUtils.exportToExcel(java.lang.String fileName, IReport
report,boolean pageBroken, int dispRatio);

ReportUtils.exportToExcel 2007(java.lang.String fileName,IReportreport,boolean
pageBroken)

ReportUtils.exportToExcel 2007(java.io.OutputStream os,IReportreport,boolean
pageBroken)

导出PDF与导出Excel类似,调用相应导出PDF的方法即可,集算报表提供导出PDF的方法包括:

ReportUtils.exportToPDF(java.io.OutputStream os, IReport report);

ReportUtils.exportToPDF(java.io.OutputStream os, IReport report,boolean
pageBroken, boolean graphicOut)

ReportUtils.exportToPDF(java.lang.String fileName, IReport
report);

ReportUtils.exportToPDF(java.lang.String fileName, IReport
report,boolean pageBroken, boolean graphicOut)

【附】导出Excel完整代码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐