2

我在 ASP.NET 4.0 应用程序中使用 CrystalReports 13 (13.0.2000.0)。
我需要以 HTML 格式导出报告,因为我想要一个静态报告页面,而不需要允许用户交互的报告查看器。

如果我尝试以下代码:

 Source1.ReportDocument.ExportToHttpResponse(  
   CrystalDecisions.Shared.ExportFormatType.HTML32   /*or HTML40*/
   , this.Response  , false, "report");

应用程序生成错误(详细信息:不支持以 HTML 格式导出 HTTP 响应。)

如果我尝试 ReportExporter,HTML32 和 HTML40 在 ExportFormat 中不可用。

有人可以帮忙吗?

4

3 回答 3

2

报告可以在 HTML 中查看为

    MemoryStream oStream; // using System.IO
    oStream = (MemoryStream)
    rd.ExportToStream(
    CrystalDecisions.Shared.ExportFormatType.HTML40);
    Response.Clear();
    Response.Buffer = true;
    Response.ContentType = "text/html";
    Response.BinaryWrite(oStream.ToArray());
    Response.End();

但格式可能会受到影响。

参考:如何在 ASP.NET 中导出 Crystal Report

于 2012-10-16T06:18:39.680 回答
1

因为你把它标记了,我想我会把它升级为关闭和代表的答案:

您可以将 html 文档保存到磁盘,然后使用重定向作为解决方法,但我找不到任何其他方法。如果您打算这样做,请确保为时间名称添加唯一性(我发现 datetime 是一个有用的字符串)以支持并发,

医学博士

于 2011-10-04T08:36:30.513 回答
0

pdf有帮助吗(我见过的例子使用pdf导出)?如果是这样,这很容易做到,但确实需要您的用户安装 acrobat reader。从错误看来,在发布时没有实现以 html 格式导出到 http 响应,但可能有一个补丁可以修复它,所以尝试修补到最新版本,

医学博士

于 2011-09-30T09:59:36.143 回答