Excel“发现不可读的内容”错误打开从C#创build的xlsx

我正在使用OpenXML从C#创build一个Excel文件(xlsx)。

当我创build一个xlsx文件并打开时,它没有错误。

当我尝试在电子邮件上附加该文件并发送时,Excel会返回打开附件文件的消息“发现不可读内容”,然后按是/否继续。

点击是,文件被正确打开。

这是我的代码来附加一个xlsx文件:

byte[] bt = functionToCreateXlsxfile(); MailMessage message = new MailMessage(); System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment( new MemoryStream(bt), "myfile.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); attach.ContentDisposition.CreationDate = DateTime.Now; attach.ContentDisposition.ModificationDate = DateTime.Now; attach.ContentDisposition.Inline = false; attach.ContentDisposition.Size = bt.Length; message.Attachments.Add(attach); 

尝试让用户将Excel文档保存到本地机器,然后打开它。 如果错误仍然存​​在,请不要在代码中创build.xlsx文件,只需创build一个.xls文件,看看是否出现同样的问题。

如果上述两种方法都不起作用,这两个链接可能会有所帮助

http://blogs.technet.com/b/emeaoffice/archive/2012/11/29/you-may-receive-quot-unreadable-content-quot-when-opening-files-from-within-excel-2007-如果任您有-A-shellstreams-DLL-file.aspx

https://social.technet.microsoft.com/Forums/office/en-US/83907359-df5d-42ff-8f2b-a298e49adc61/error-quotexcel-found-unreadable-content-in-filenamexls-do-you-want-到恢复-的-内容-的?论坛= Excel中

我不认为这个问题与你的代码有关。 看来这是很多人都遇到的一个常见的excel错误。

另外,给这个工具一个旋转,看看是否可以帮助。