在电子邮件中以正文形式发送RDLC

时间:2019-06-23 12:54:33

标签: html winforms rdlc reportviewer

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

1 个答案:

答案 0 :(得分:0)

最终找到解决方案(即使不是最佳答案)。因此,基本上,首先转换为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代码。 enter image description here

在预览中生成HTML。 enter image description here

希望有人会有所帮助。