2008-09-26 8 views
5

Czy samodzielny plik wykonywalny może generować raport i wyświetlać go jako PDF (lub jedną z innych opcji eksportu dostępnych w przeglądarce raportów) bez wyświetlania kontrolki ReportViewer?Jak wygenerować plik PDF z osadzonej definicji raportu bez serwera lub interfejsu użytkownika?

Definicja raportu powinna być osadzona w pliku wykonywalnym i nie powinna korzystać z usługi sieciowej Reporting Services.

+0

+1 dla dokładnego pytania, którego szukam. Nie mogłem go znaleźć za pomocą wyszukiwania StackOverflow, ale był to pierwszy wynik "lokalnego raportu pdf site: stackoverflow.com" w Google. – flipdoubt

Odpowiedz

7

Właściwie nie trzeba się ReportViewer w ogóle, można bezpośrednio instancji i używać 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 
4

Nie musisz pokazywać samej kontroli.

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 

Może jednak renderować tylko PDF i XLS (jako że kontrolka ReportViewer nie może eksportować do programu Word, a inne jako Reportig Service może).

Zapomniałem wspomnieć, że powyższy kod jest C#, przy użyciu platformy .NET i kontroli ReportViewer. Sprawdź numer GotReportViewer, aby uzyskać szybki start.

+2

Dla rekordu, format używany do renderowania jako Excel to "Excel" zamiast "XLS". – flipdoubt

1

można przekazać raport .rdlc bezpośrednio do pdf z parametrami? Mam dwie listy rozwijane, z których mogę pobrać raport. Nie mogę uzyskać parametrów do pracy przy automatycznym eksportowaniu do formatu pdf. Oto błąd, który otrzymuję: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Nie określono jednego lub więcej parametrów wymaganych do uruchomienia raportu.

Listy rozwijane działają, gdy korzystam z aplikacji Report Viewer, ale chcę pominąć ten krok. Mogę również pobierać dane bezpośrednio do pliku pdf, jeśli nie ma on żadnych parametrów. Moje listy rozwijane są nazywane ddlyear i ddlmonth.

Powiązane problemy