博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveReports中如何在后台导出运行时绑定数据源报表
阅读量:5278 次
发布时间:2019-06-14

本文共 1526 字,大约阅读时间需要 5 分钟。

ActiveReports支持运行时绑定数据源功能,这种绑定数据源方法使用较为普及,然而很多系统中都需要在后台导出报表文件,所以用户就很困惑,ActiveReports中如何在后台导出运行时绑定数据源报表?到底是怎样的逻辑?

这篇文章就主要讲解了在MVC中导出运行时数据源的报表文件。

 

1. 新建MVC 工程

2. 在Index.cshtml 中初始化HTML5Viewer

 

3. 新建报表文件【客户信息.rdlx】,并设置数据源为Object Provider

 

添加数据集,设置数据集字段

 

3. 新建Web服务文件,继承GrapeCity.ActiveReports.Web.ReportService

重写OnCreateReportHandler方法,实现LocateDataSource方法

protected override object OnCreateReportHandler(string reportPath)        {            var instance = base.OnCreateReportHandler(reportPath); var pageReport = instance as PageReport; if (pageReport != null) { pageReport.Document.LocateDataSource += Document_LocateDataSource; } return instance; }

 

4. 在LocateDataSource中调用导出Excel函数

void Document_LocateDataSource(object sender, LocateDataSourceEventArgs args)        {                               string customerID = args.Report.Parameters[0].CurrentValue.ToString();                    args.Data = GetCustomer(customerID);                    ExportToExcel(args.Report);                                             }

5. 实现导出Excel方法

private void ExportToExcel(PageDocument report)        {                        GrapeCity.ActiveReports.Export.Excel.Section.XlsExport xlsExport1 = new GrapeCity.ActiveReports.Export.Excel.Section.XlsExport();            xlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx;            xlsExport1.Export(report, @"D:\Demo\\" + "\\XLS1t.xlsx");        }

 

Demo下载:

 

ActiveReports10_Mvc4 (2).zip

转载于:https://www.cnblogs.com/lenkaguo/p/5949526.html

你可能感兴趣的文章
Yum安装MySQL以及相关目录路径和修改目录
查看>>
java获取hostIp和hostName
查看>>
关于web服务器和数据库的各种说法(搜集到的)
查看>>
《TCP/IP 详解 卷一》读书笔记 -----第四章 ARP
查看>>
C# Stream 和 byte[] 之间的转换
查看>>
OMG: daily scrum nine
查看>>
redis与spring结合错误情况
查看>>
第六章 字节码执行方式--解释执行和JIT
查看>>
字符串方法title()、istitle()
查看>>
yield语句
查看>>
查看linux系统中占用cpu最高的语句
查看>>
[洛谷P1738]洛谷的文件夹
查看>>
ubuntu server设置时区和更新时间
查看>>
【京东咚咚架构演进】-- 好文收藏
查看>>
【HTML】网页中如何让DIV在网页滚动到特定位置时出现
查看>>
文件序列化
查看>>
jQuery之end()和pushStack()
查看>>
Bootstrap--响应式导航条布局
查看>>
Learning Python 009 dict(字典)和 set
查看>>
JavaScript中随着鼠标拖拽而移动的块
查看>>