ActiveReportsJS 如何实现一键导出
前端报表主要实现布局上的展示功能,因此如果系统在设计时,是为了实现前后端分离,界面与服务分离的效果时候,在前端还是需要采用真分页的方式来展示报表。不能够一次性大量的展示数据。本篇文章主要来分享在前端不展示报表时,如何实现静默导出。1.声明PageReport 对象
var ARJS = GC.ActiveReports.Core;
var Excel = GC.ActiveReports.XlsxExport;
var settings = {
sheetName: '快递单',
pageSettings: {
size:'A4',
orientation: 'portrait'
}
}
var pageReport = new ARJS.PageReport();
2.调用 PageReport 对象的exportDocument()
pageReport.load('/report/DistributorBudget.rdlx-json')
.then(function() { return pageReport.run() })
.then(function(pageDocument) { return Excel.exportDocument(pageDocument, settings) })
.then(function(result) { result.download('arjs-excel') });
注意: 如果 PageReport 包含参数,可通过代码添加 Parameters对象后,传递值
var pageReport = new ARJS.PageReport();
pageReport.load('report/Test.rdlx-json')
.then(function () {
pageReport._parameters.P1.values = '11';
return pageReport.run()
})
.then(function(pageDocument) { return Excel.exportDocument(pageDocument, settings) })
.then(function(result) { result.download('arjs-excel') });
3. 在页面Load 事件中添加以上代码
<body onload="load()">
因为导出时静默导出,所以会全程后台没有提醒,只有在浏览器保存导出文件时,才会提示用户,另外因为前端报表导出和打印都依赖于客户端的资源,所以不推荐导出大数据量的报表文件。
页:
[1]