如何在Excel中embeddedExcel工作表的内容到电子邮件?
我有发送电子邮件的C#代码。 在电子邮件的正文中,我想发送Excel表的内容。
一种方法是在Excel文件中为每个logging创build包含html行的html表,并将该代码embedded到电子邮件的正文中。
有没有更简单的方法来做到这一点? 什么地方我可以指定Excel表的path,直接将表复制到电子邮件正文?
谢谢。
目前最简单的方法是使用Workbook.SendMail()方法。
示例代码:
Excel.Workbook myWorkbook = xlApp.Workbooks["Book1.xls"]; string recipients = "johndoe@email.com"; string subject = "Proposal for Review"; bool returnReceipt = false; myWorkbook.SendMail(recipients, subject, returnReceipt);
请注意, recipients
参数实际上是作为System.Object
input的,以便传入的参数可以是string[]
如果您有多个收件人。
资料来源:
(1) http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.sendmail (VS.80) .aspx
(2) http://msdn.microsoft.com/en-us/library/bb178034.aspx
你也可能想看看Ron de Bruin 用CDO方式从Excel发送邮件 ,但Workbook.SendMail()方法确实是最简单的。
希望这可以帮助…
麦克风
您可以尝试通过ADODB连接到Excel工作表。 http://support.microsoft.com/kb/306023
- 打开logging集到Excel工作表
- 调用recordset.GetString( http://www.devguru.com/technologies/ado/quickref/recordset_getstring.html )。 这会将工作表的内容转储到string中。
这可能会缩短(长度方面),那么你计划的代码,这可能涉及Excel自动化。
它没有embedded,但你可以尝试附件类: http : //msdn.microsoft.com/en-us/library/system.net.mail.attachment.aspx
替代scheme是使用第三方excel控件打开它,复制数据,并将其粘贴到消息。
我假设你想在c#中本地执行此操作。
我认为你最好的select是使用C#中的Office Automation将电子表格保存为HTML文件格式。 然后,您可以使用StreamReader对象打开此文件,并将文本embedded到消息正文中。
微软有一篇关于自动化Excel的文章,其中有一些代码示例让你开始:
如何从Microsoft Visual C#.NET自动化Microsoft Excel http://support.microsoft.com/kb/302084