润乾html导出显示,API实现带有统计图超链接功能的报表html结果保存

问题的提出: 利用API完成含统计图的报表的HTML格式导出,将报表展现结果直直接以HTML的形式保存到指定路径下。

传统方法及弊端: 利用润乾提供的API接口可完成报表运算结果的HTML格式导出,ReportUtils.exportToHTML方法可直接完成此功能。

具体实现办法为:

String reportFile =”1.raq”;

String exportFile = “D:/tempfiles/1.html”; // 导出的文件

//读取报表模板

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

//获取上下文

Context context = new Context();

IReport report = new Engine(rd, context).calc();

//导出到指定的HTML

try {

ReportUtils.exportToHTML(exportFile, report);

} catch (Throwable e) {

e.printStackTrace();

但是,从保存的html结果可以看到此时报表统计图已经变成图片,统计图的超链接功能不能被保存。查看统计图源码可以看到,统计图对于部分的源码为1.jpg%E2%80%9D,说明该方法的处理方式是将统计图作为静态图片导出。

解决办法: 调用ReportUtils.toHTMLString方法生成html字符串,再用输出流输出到指定的html文件中。具体实现办法如下:

String reportFile =”1.raq”;

String exportFile = “D:/tempfiles/1.html”; // 导出的文件

//读取报表模板

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

//获取上下文

Context context = new Context();

IReport report = new Engine(rd, context).calc();

//导出到指定的HTML

try {

String htmlText = ReportUtils.toHTMLString(report, “report1″,request);

java.io.FileOutputStream ops = new java.io.FileOutputStream(exportFile);

java.io.PrintWriter writer =

new java.io.PrintWriter(

new java.io.BufferedWriter(

new java.io.OutputStreamWriter(out1)));

writer.println(htmlText);

writer.flush();

writer.close();

} catch (Throwable e) {

e.printStackTrace();

利用该方式生成的html结果,统计图不是图片格式,并且支持动态统计图,统计图超链接功能。

具体示例见附件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值