Excel"发现不可读的内容"打开从C#创建的xlsx时出错

时间:2014-12-02 15:20:32

标签: c# excel openxml

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

当我创建一个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);

1 个答案:

答案 0 :(得分:3)

尝试让用户将excel文档保存到本地计算机,然后将其打开。如果错误仍然存​​在,而不是从代码中创建.xlsx文件,只需创建.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-if-you-have-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-to-recover-the-contents-of?forum=excel

我认为这个问题与您的代码根本没有关系。这似乎是很多人都会遇到的常见错误。

另外,给this工具一个旋转,看看它是否有帮助。