C++ 在Windows应用程序中从rdl/rdlc文件写入Excel文件
我有报告生成器3.0制作的rdl文件。我需要在我的Windows应用程序中用C++编写它们,这样我就可以在运行时设置SQL Server连接参数和报告位置。p> 这可能吗?如何实现C++ 在Windows应用程序中从rdl/rdlc文件写入Excel文件,c++,excel,reporting-services,rdlc,rdl,C++,Excel,Reporting Services,Rdlc,Rdl,我有报告生成器3.0制作的rdl文件。我需要在我的Windows应用程序中用C++编写它们,这样我就可以在运行时设置SQL Server连接参数和报告位置。p> 这可能吗?如何实现 Google告诉我需要将rdl转换为rdlc文件,但即使是这样,我也找不到一种设置参数的方法,从C++调用“强”> RDLC文件。 < P>可以使用RePrVIEWER并使用RDL或RDLC文件,但是RDL可能有一些限制,因为它不包含创建数据绑定代码的必要信息。 RDL文件不包含在设计时 ReportViewer控件
Google告诉我需要将rdl转换为rdlc文件,但即使是这样,我也找不到一种设置参数的方法,从C++调用“强”> RDLC<强>文件。 < P>可以使用RePrVIEWER并使用RDL或RDLC文件,但是RDL可能有一些限制,因为它不包含创建数据绑定代码的必要信息。 RDL文件不包含在设计时 ReportViewer控件依赖于自动生成 数据绑定代码。通过手动绑定数据,RDL文件可以在 ReportViewer控件 您可以从ReportViewer中设置参数,查看文档和以下C#中的代码示例: 如果这对你有帮助,请告诉我
private void SetReportParameters() {
// Set Processing Mode
reportViewer1.ProcessingMode = ProcessingMode.Remote;
// Set report server and report path
reportViewer1.ServerReport.ReportServerUrl = new
Uri("http://<ServerName>/reportserver");
reportViewer1.ServerReport.ReportPath =
"/AdventureWorks Sample Reports/Employee Sales Summary";
List<ReportParameter> paramList = new List<ReportParameter>();
paramList.Add(new ReportParameter("EmpID", "288", false));
paramList.Add(new ReportParameter("ReportMonth", "12", false));
paramList.Add(new ReportParameter("ReportYear", "2003", false));
this.reportViewer1.ServerReport.SetParameters(paramList);
// Process and render the report
reportViewer1.RefreshReport();
}
protected void Button1_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
byte[] bytes = ReportViewer1.LocalReport.Render(
"Excel", null, out mimeType, out encoding,
out extension,
out streamids, out warnings);
FileStream fs = new FileStream(@"c:\output.xls",
FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
Label1.Text = "Report exported to output.xls";
}