【问题标题】:How to programmatically run and export to HTML a ReportViewer如何以编程方式运行 ReportViewer 并将其导出为 HTML
【发布时间】:2015-08-28 16:06:06
【问题描述】:

这个问题有两个部分。第 1 部分:如何以编程方式运行报表查看器和第 2 部分:如何以编程方式将报表查看器导出为 html。

第 1 部分:.rdl 托管在远程服务器上,我需要像用户单击“查看结果”一样运行此报告,但以编程方式。我为它提供了正确的报告 url、路径和参数,但是当我导出它时,我似乎遗漏了一些东西,结果为 0,这意味着它没有运行。我很确定我错过了什么,但我不知道它是什么。

第 2 部分:我在 VS12 上运行。我读过你不能在 VS10 中导出到 HTML,但在 VS12 中你可以,但结果全错了。该报告有几个带有彩色填充单元格的表格。即使数据以表格格式对齐,单元格也不会着色。我让它以 pdf 格式工作,但数据是第 1 部分的空原因。我希望它采用 html 格式,因为我计划将此导出放在电子邮件的正文中。

这是我目前得到的:

report.ServerReport.ReportPath = reportPath;

//Assign parameters
var parameters = new List<ReportParameter>();

            parameters.Add(new ReportParameter("Param1", param1));

            parameters.Add(new ReportParameter("Param2", param2));

            //Execute report
            report.ServerReport.SetParameters(parameters.ToArray());

            string mimeType,
                encoding,
                fileNameExtension;

            Warning[] warnings;

            string[] streamIds;

            //Export report
            byte[] exportBytes = report.ServerReport.Render("HTML4.0", null, out mimeType, out encoding,
                out fileNameExtension, out streamIds, out warnings);

             //For pdf format
             //HttpContext.Current.Response.Buffer = true;
             //HttpContext.Current.Response.Clear();
             //HttpContext.Current.Response.ContentType = mimeType;
             //HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=ExportedReport." + fileNameExtension);
             //HttpContext.Current.Response.BinaryWrite(exportBytes);
             //HttpContext.Current.Response.Flush();
             //HttpContext.Current.Response.End();

            var exportHtml = System.Text.Encoding.UTF8.GetString(exportBytes);

如果要问的不多,请在您的答案中添加一些解释。我还是报告新手,我想了解它为什么不起作用。

【问题讨论】:

  • 您的 SSRS 版本 2012 或 2008 是什么?
  • @MichaelRudnerEvanchik 如果问题有点令人困惑,我深表歉意。我不需要显示它我只想运行它并导出结果。
  • 这可能吗?

标签: c# asp.net visual-studio-2012 reportviewer


【解决方案1】:

我设法解决了。我的代码是正确的,即使我传递了所需的参数,但报告本身并没有真正使用该参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多