但是,这种方法必须是在查看报表时才能使用。有时候我不希望让用户进入查看报表的页面(觉得麻烦),或者我想一批自动生成很多报表的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。
rs.Timeout = 600000; //设置过期时间为10分钟