代碼導出Reporting Services報表文件

背景部分 服務器

使用Reporting Services很容易製做和發佈咱們須要的報表,報表效果也還不錯工具

不過若是報表數據過大或報表數量過多,打開及查看報表感受可能就是另一回事了spa

 

好在Reporting Services提供了離線下載功能;同時,也提供了Web Services供開發人員調用orm

做爲一個軟件工程師,徹底能夠建一個控制檯程序,代碼寫好,使用配置文件獲取報表參數blog

運行,喝杯茶,全部的報表就下載到本地了~~~ip

 

技術部分 開發

Web Services比較經常使用的服務地址以下get

http://[RS Server Name]/ReportServer/ReportExecution2005.asmxio

其中:[RS Server Name]是Reporting Services服務器的名字asm

 

咱們固然能夠在項目中添加Web Reference的方式加入Web Services

不過也能夠使用VS工具中的WSDL生成編譯文件,供後期項目重複使用,下載能夠點擊這裏

對於導出報表功能,我也簡單的獲取了一個類來封裝調用,下載能夠點擊這裏

 

調用舉例

Report rpt = new Report();

// 如下參數按照實際環境修改

rpt.ServerUrl = "http://[RS Server Name]/ReportServer";

rpt.UserName = "User Name";

rpt.Password = "Password";

rpt.Domain = "Domain Name";

// 報表所在的路徑,參考下圖

rpt.FolderPath = "/Northwind Reports/NorthwindCustomers";

// 導出文件的格式

rpt.Format = ReportFormat.EXCEL;

// 導出到指定位置

rpt.Export(@"C:\Nw2.pdf");

 

 

若是須要傳入參數,能夠參考以下

rpt.Parameters = new ParameterValue[1];

rpt.Parameters[0] = new ParameterValue();

rpt.Parameters[0].Label = "Month";

rpt.Parameters[0].Name = "Month";

rpt.Parameters[0].Value = Month;

 

其中:rpt.Parameters[0].Value必須使用RDL報表中參數實際使用的值

 

[03/29/2016]Updates:

在報表查看頁面中能夠點擊右側下拉菜單,點擊其中的「Download...」,下載的RDL文件直接使用記事本能夠找到參數的實際使用名稱

 

Andy Yang

2014.03.20

相關文章
相關標籤/搜索