如何将多个 XtraReports 嵌入到 Outlook 电子邮件正文中?

How to embed multiple XtraReports into Outlook email body?

基于 DevExpress 的 (Xaf) windows 应用程序中有多个报告。

根据要求,我必须从应用程序中获取选定的报告,生成这些报告,然后在 Outlook 应用程序中创建电子邮件并将这些报告嵌入到电子邮件 html 正文中。

问题是:如果我有一个 XtraReport class 个实例,并且我有 Microsoft.Office.Interop.Outlook.MailItem class 个实例。如何将报告嵌入电子邮件 html 正文?

XtraReport xtraReport = reportContainer.Report;
xtraReport.CreateDocument();

MailItem email = (Microsoft.Office.Interop.Outlook.MailItem)(oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem));

我想将 xtraReport 对象嵌入到 email html 正文中,但我不知道该怎么做。

使用 XtraReports 导出功能之一。我可能会选择 XtraReport.ExportToHTML(Stream stream) 然后简单地编写流 返回邮件 HTML- 正文。 像这样(未经测试):

            report.CreateDocument();
            string reportHtml = String.Empty;

            using (Stream stream = new MemoryStream())
            {
                report.ExportToHtml(stream);
                stream.Position = 0;
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    reportHtml = reader.ReadToEnd();
                }
            }

            mailItem.Body = reportHtml;