Отправить RDLC по электронной почте как тело - PullRequest
0 голосов
/ 23 июня 2019

Я уже копаю в течение 5 часов, но ничего не найдено. Есть ли способ для генерации rdlc в HTML. Я попытался использовать RDLC для Image, но моя проблема в том, что сгенерированное изображение разрезано пополам.

1 Ответ

0 голосов
/ 24 июня 2019

Наконец-то найдено решение (хотя это и не лучший ответ). В общем, сначала конвертируйте в Excel, затем преобразуйте Excel в HTML, затем прочитайте весь текст. Я использую FreeSprite.XLS, чтобы преобразовать Excel в HTML.

Ссылка Freespire.xls

вот мой код

  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 в Preview. enter image description here

Надеюсь, кто-нибудь найдет это полезным.

...