Reporting Services的报表做好后,可以在查看报表时选择导出成EXCEL。这是Reporting Services自带的功能。
但是,这种方法必须是在查看报表时才能使用。有时候我不希望让用户进入查看报表的页面(觉得麻烦),或者我想一批自动生成很多报表的EXCEL文件供下载。这就只能通过编程方式实现了。
目的:连接某个报表,传入相关参数,直接生成EXCEL文件,放在WEB服务器上(注意不是Reporting Services的服务器)。
我写了一个类RSReport用来实现这个功能。
这里必须使用Reporting Services提供的一个Web Service,所以要加一个Web Reference: http://servername/ReportServer/ReportService.asmx
假设使用默认的命名空间WebReference。
下面的代码中:
_reportPath是报表路径如:/foldername/myreport1
_parameters是报表参数列表
_savePath是指定的EXCEL文件存放路径,是全路径名。如d:\myproject\tempfiles\report1.xls。
通过编程方式将Reporting Services 报表导出成Excel文件using System;
通过编程方式将Reporting Services 报表导出成Excel文件
using System.Collections.Generic;
通过编程方式将Reporting Services 报表导出成Excel文件
using System.Collections;
通过编程方式将Reporting Services 报表导出成Excel文件
using System.Text;
通过编程方式将Reporting Services 报表导出成Excel文件
using System.Web.Services.Protocols;
通过编程方式将Reporting Services 报表导出成Excel文件
using coysoft.WebReference;
通过编程方式将Reporting Services 报表导出成Excel文件
using System.IO;
通过编程方式将Reporting Services 报表导出成Excel文件
通过编程方式将Reporting Services 报表导出成Excel文件
namespace coysoft.Reporting
 System.Net.CredentialCache.DefaultCredentials;
             rs.Timeout = 600000; //设置过期时间为10分钟
通过编程方式将Reporting Services 报表导出成Excel文件
通过编程方式将Reporting Services 报表导出成Excel文件            
// Render arguments
通过编程方式将Reporting Services 报表导出成Excel文件
            byte[] result = null;
通过编程方式将Reporting Services 报表导出成Excel文件            
string reportPath = _reportPath;
通过编程方式将Reporting Services 报表导出成Excel文件            
string format = _renderFormat;
通过编程方式将Reporting Services 报表导出成Excel文件            
string historyID = null;
通过编程方式将Reporting Services 报表导出成Excel文件            
string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";
通过编程方式将Reporting Services 报表导出成Excel文件
通过编程方式将Reporting Services 报表导出成Excel文件            
// Prepare report parameter.
通过编程方式将Reporting Services 报表导出成Excel文件
            ParameterValue[] parameters = new ParameterValue[_parameters.Count];
通过编程方式将Reporting Services 报表导出成Excel文件            
int i = 0;
通过编程方式将Reporting Services 报表导出成Excel文件            
foreach(string key in _parameters.Keys)

相关文章: