¿Cómo generar un PDF desde una definición de informe incrustada sin servidor o interfaz de usuario?

StackOverflow https://stackoverflow.com/questions/138203

  •  02-07-2019
  •  | 
  •  

Pregunta

¿Es posible que un ejecutable independiente genere un informe y lo genere como PDF (u otra de las opciones de exportación disponibles en el visor de informes) sin mostrar el control ReportViewer?

La definición del informe debe estar integrada en el ejecutable y no debe usar el servicio web de Reporting Services.

¿Fue útil?

Solución

En realidad, no necesita un ReportViewer, puede crear una instancia y usar un Informe local directamente:

LocalReport report = new LocalReport();
report.ReportPath = "templatepath";
// or use file from resource with report.ReportEmbeddedResource

// add parameters, datasource, etc.

Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;

byte[] bytes;
bytes =report.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);

// save byte[] to file with FileStream or something else

Otros consejos

No tienes que mostrar el control en sí.

ReportViewer rv = new ReportViewer();
rv.LocalReport.ReportPath = "templatepath";
// or use file from resource with rv.LocalReport.ReportEmbeddedResource

// add parameters, datasource, etc.

Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;

byte[] bytes;
bytes = rv.LocalReport.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);

// save byte[] to file with FileStream or something else

Sin embargo, solo puede procesar PDF y XLS (ya que el control ReportViewer no puede exportar a Word y otros como puede hacerlo el Servicio de Reportig).

Olvidé mencionar que el código anterior es C #, usando el framework .NET y el control ReportViewer. Echa un vistazo a GotReportViewer para un inicio rápido.

¿Puede pasar un informe .rdlc directamente a pdf con parámetros? Tengo dos listas desplegables con las que saco mi informe. No puedo conseguir que los parámetros funcionen al exportar automáticamente a pdf. Aquí está el error que recibo: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: no se han especificado uno o más parámetros necesarios para ejecutar el informe.

Las listas desplegables funcionan cuando uso el visor de informes, pero quiero omitir este paso. También puedo hacer que mis datos vayan directamente a un pdf si no tiene ningún parámetro. Mis listas desplegables se llaman ddlyear y ddlmonth.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top