with - reporting services generate excel
Exporte programáticamente SSRS desde sharepoint utilizando ReportService2010.asmx (1)
Hago esto para mi trabajo actual con VS 2012 .NET 4.5 para la automatización de informes para informes PDF.
R. Para facilitar su uso, compilar su propia clase de proxy es más fácil que hacer referencia al servicio web cada vez, ya que puede olvidar el nombre del servicio.
Desde el símbolo del sistema de Visual Studio:
wsdl /language:CS /n:"Microsoft.SqlServer.ReportingServices2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl
referencia: http://msdn.microsoft.com/en-us/library/ms155134(v=sql.105).aspx (Necesita servicios: ReportExecution2005 e ReportService2010 solo si desea obtener información y ejecutar. Si solo desea para hacer que solo necesites ReportExecution2005)
B. Una vez que haya creado su clase proxy, colóquela en un proyecto de biblioteca para reutilizarla en mi humilde opinión. Cree quizás algunas clases contenedoras para redactar y algunos servidores en un archivo de configuración al que desee hacer referencia si tiene múltiples entornos.
C. Escriba un código que haga referencia a la biblioteca y cree un primer informe en C #:
using System;
using System.IO;
using System.Web.Services.Protocols;
using myNamespace.MyReferenceName; // YOUR PROXY PROJECT
class Sample
{
static void Main(string[] args)
{
ReportExecutionService rs = new ReportExecutionService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
rs.Url = "http://myserver/reportserver/ReportExecution2005.asmx";
// Render arguments
byte[] result = null;
string reportPath = "/AdventureWorks Sample Reports/Employee Sales Summary";
string format = "MHTML";
string historyID = null;
string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";
// Prepare report parameter.
ParameterValue[] parameters = new ParameterValue[3];
parameters[0] = new ParameterValue();
parameters[0].Name = "EmpID";
parameters[0].Value = "288";
parameters[1] = new ParameterValue();
parameters[1].Name = "ReportMonth";
parameters[1].Value = "6"; // June
parameters[2] = new ParameterValue();
parameters[2].Name = "ReportYear";
parameters[2].Value = "2004";
DataSourceCredentials[] credentials = null;
string showHideToggle = null;
string encoding;
string mimeType;
string extension;
Warning[] warnings = null;
ParameterValue[] reportHistoryParameters = null;
string[] streamIDs = null;
ExecutionInfo execInfo = new ExecutionInfo();
ExecutionHeader execHeader = new ExecutionHeader();
rs.ExecutionHeaderValue = execHeader;
execInfo = rs.LoadReport(reportPath, historyID);
rs.SetExecutionParameters(parameters, "en-us");
String SessionId = rs.ExecutionHeaderValue.ExecutionID;
Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID);
try
{
result = rs.Render(format, devInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs);
execInfo = rs.GetExecutionInfo();
Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.OuterXml);
}
// Write the contents of the report to an MHTML file.
try
{
FileStream stream = File.Create("report.mht", result.Length);
Console.WriteLine("File created.");
stream.Write(result, 0, result.Length);
Console.WriteLine("Result written to the file.");
stream.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
Tomado desde aquí: http://msdn.microsoft.com/en-us/library/reportexecution2005.reportexecutionservice.render(v=sql.105).aspx
D. (opcional): es posible que desee gestionar la actualización del servicio web en los servidores de alojamiento de SSRS. El valor predeterminado es que se recicla cada 12 horas, lo que hace que el primer informe se renderice luego de que sea lento. Puede actualizar estos servicios simplemente haciendo una llamada web cada 10 horas aproximadamente al punto final del servicio en http: // (servername) / ReportServer. Utilizo una herramienta llamada Visual Cron que puede configurar tareas automatizadas, también puede intentar cambiar la configuración del servicio SSRS, crear su propio servicio Keep alive, etc. Básicamente solo necesita cambiar la configuración o hablar para mantenerla Se abrió.
Tengo que exportar sistemáticamente los informes ssrs a Excel, refencia de servicio adicional a
http: /siteurl/_vti_bin/ReportServer/ReportService2010.asmx
http: /siteurl/_vti_bin/ReportServer/ReportExecution2005.asmx
¿Alguien puede proporcionar un blog en funcionamiento?