如何在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.Objectinput的,以便传入的参数可以是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

  1. 打开logging集到Excel工作表
  2. 调用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