reporting-services - ssrs教程 - ssrs是什么




如何在没有服务器或UI的情况下从嵌入式报表定义生成PDF? (2)

你不必显示控制本身。

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

但是,它只能呈现PDF和XLS(因为ReportViewer控件无法导出到Word和其他报表服务可以)。

我忘了提到上面的代码是C#,使用.NET框架和ReportViewer控件。 检查GotReportViewer快速入门。

是否可以使用独立的可执行文件生成报告并将其输出为PDF(或从报告查看器提供的其他导出选项之一),而不显示ReportViewer控件?

报告定义应嵌入可执行文件中,不应使用Reporting Services Web服务。


其实你根本不需要ReportViewer,你可以直接实例化和使用一个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