I have to programmatically export ssrs reports to excel, added service refernce to
http:/siteurl/_vti_bin/ReportServer/ReportService2010.asmx
http:/siteurl/_vti_bin/ReportServer/ReportExecution2005.asmx
Can somebody provide a working blog
excelreporting-servicessharepointssrs-2008
I have to programmatically export ssrs reports to excel, added service refernce to
http:/siteurl/_vti_bin/ReportServer/ReportService2010.asmx
http:/siteurl/_vti_bin/ReportServer/ReportExecution2005.asmx
Can somebody provide a working blog
Best Answer
I do this for my work currently with VS 2012 .NET 4.5 for reporting automation for PDF reports.
A. For ease of use compiling your own proxy class is easier than referencing the web service each time as you may forget the service name.
From Visual Studio Command Prompt:
reference: http://msdn.microsoft.com/en-us/library/ms155134(v=sql.105).aspx (You need services: ReportExecution2005 and ReportService2010 only if you want to get info and execute. If you only want to render you just need ReportExecution2005)
B. Once you create your proxy class put it in a library project for reuse IMHO. Build maybe some wrapper classes to do the writing and some servers in a config file that you may want to reference if you have multiple environments.
C. Write some code referencing the library and build a first time report in C#:
Taken from here: http://msdn.microsoft.com/en-us/library/reportexecution2005.reportexecutionservice.render(v=sql.105).aspx
D. (optional): You may want to handle refreshing the WebService on SSRS Hosting Server(s). The default is that it recycles every 12 hours thus making the first report render after that slow. You can refresh these services with simply making a webcall every 10 hours or so to the service endpoint at http:// (servername)/ReportServer. I use a tool called Visual Cron that can sets up automated tasks, you can also try to change the SSRS service config, create your own keep alive service, etc. Basically you just need to either change the setting or else talk to it to keep it open.