Como gerar um PDF a partir de uma definição de relatório incorporado sem servidor ou UI?

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

  •  02-07-2019
  •  | 
  •  

Pergunta

É possível que um autônomo executável para gerar um relatório e sua saída será em formato PDF (ou uma das outras opções de exportação disponíveis a partir do visualizador de relatórios), sem exibir o controle ReportViewer?

A definição do relatório deve ser incorporado no executável e não deve utilizar o serviço Web do Reporting Services.

Foi útil?

Solução

Na verdade, você não precisa de um ReportViewer em tudo, você pode diretamente instanciar e usar um LocalReport:

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

Outras dicas

Você não tem que mostrar o próprio controle.

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

No entanto, pode renderizar somente PDF e XLS (como controle ReportViewer não pode exportar para o Word e outros como Reportig Serviço pode).

Eu esqueci de mencionar que o código acima é C #, usando o framework .NET e controle ReportViewer. Confira GotReportViewer para um início rápido.

Você pode passar um relatório .rdlc diretamente ao pdf com os parâmetros? Eu tenho dois dropdownlists que eu puxar o meu relatório com. Eu não posso obter os parâmetros para o trabalho ao exportar automaticamente para pdf. Aqui está o erro que eu recebo: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:. Um ou mais parâmetros necessários para executar o relatório não foram especificados

Os dropdownlists funciona quando eu uso o reportviewer, mas eu quero pular essa etapa. Eu também pode obter meus dados para ir diretamente para um pdf, se ele não tem nenhum parâmetro. Meus dropdownlists são chamados ddlyear e ddlmonth.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top