基于DevExpress的(Xaf)Windows应用程序中有多个报告。
根据请求,我必须从应用程序中获取选定的报告,生成这些报告,然后在Outlook应用程序中创建一个电子邮件,并将这些报告嵌入到电子邮件html正文中。
问题是:如果我有一个XtraReport
类实例,并且我有Microsoft.Office.Interop.Outlook.MailItem
类实例。如何将报告嵌入电子邮件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主体,但我不知道该怎么做。
答案 0 :(得分:1)
使用其中一个XtraReports导出功能。我可能会使用XtraReport.ExportToHTML(Stream stream),然后只需编写流 回到邮件HTML-body。 像这样(未经测试):
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;