5

独立可执行文件是否可以在不显示 ReportViewer 控件的情况下生成报告并将其输出为 PDF(或报告查看器中可用的其他导出选项之一)?

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

4

3 回答 3

7

其实你根本不需要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
于 2008-09-26T08:48:19.410 回答
4

您不必显示控件本身。

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 控件无法像 Reportig Service 那样导出到 Word 和其他控件)。

我忘了说上面的代码是 C#,使用 .NET 框架和 ReportViewer 控件。查看GotReportViewer以获取快速入门。

于 2008-09-26T08:01:23.140 回答
1

您可以将 .rdlc 报告直接传递给带有参数的 pdf 吗?我有两个下拉列表,可以用来提取我的报告。自动导出为 pdf 时,我无法使参数正常工作。这是我得到的错误: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:未指定运行报告所需的一个或多个参数。

当我使用报表查看器时,下拉列表工作,但我想跳过这一步。如果没有任何参数,我也可以让我的数据直接转到 pdf。我的下拉列表称为 ddlyear 和 ddlmonth。

于 2008-12-09T22:00:43.687 回答