【问题标题】:Send RDLC in Email as Body在电子邮件中作为正文发送 RDLC
【发布时间】:2019-06-24 11:35:16
【问题描述】:

我已经挖了 5 个小时,但什么也没找到。有什么方法可以将 rdlc 生成为 HTML。我尝试使用 RDLC to Image 但我的问题是,生成的图像被切成两半。

【问题讨论】:

  • @mchawre 正如我在文章中所了解的那样,它向我们发送了一个附件,但并不能满足我的目标。尽管感谢您提供链接以供将来在 excel 中发送报告时参考。

标签: html winforms rdlc reportviewer


【解决方案1】:

终于找到了解决方案(尽管不是最佳答案)。所以基本上,先转换为 Excel,然后将 excel 转换为 html,然后阅读所有文本。我使用 FreeSprite.XLS 将 excel 转换为 html。

Freespire.xls Link

这是我的代码

  private string GenerateHTMLReport(ReportViewer rv)
    {
        string mimeType,
            encoding,
            fileNameExtension;
        Warning[] warnings=null;
        string[] streamIds=null;

        //Export report
        byte[] exportBytes = rv.LocalReport.Render("Excel", null, out mimeType, out encoding,
            out fileNameExtension, out streamIds, out warnings);

        //convert to excel
        FileStream fs = new FileStream("report.xls", FileMode.Create);
        fs.Write(exportBytes, 0, exportBytes.Length);
        fs.Close();

        Workbook workbook = new Workbook();
        workbook.LoadFromFile("report.xls");

        //convert Excel to HTML  
        Worksheet sheet = workbook.Worksheets[0];
        sheet.SaveToHtml("report.html");

        string html =System.IO.File.ReadAllText("report.html");
        return "";
    }

生成的 HTML 代码。

在预览中生成的 HTML。

希望有人会发现它有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2011-04-24
    • 2017-01-16
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    相关资源
    最近更新 更多