在office 07中打开生成的Excel文件时出现警告消息

时间:2009-04-14 12:06:36

标签: .net xml excel

我使用以下帖子中的stackoverflow概述的XML格式生成excel文件: Generate excel file in .net

然而,当我在excel 07中打开它时,我收到以下消息:

  

您要打开的文件,   “blah.xls”,格式不同   超过文件扩展名。   验证我的snot文件是否已损坏   并且来自可信赖的来源   打开文件。你想打开吗?   现在的文件?

导致错误消息的原因是什么?我怎么能摆脱它?谢谢!

2 个答案:

答案 0 :(得分:4)

尝试调用文件blah.xlsx而不是blah.xls。 Excel显然希望XML文件具有“xlsx”扩展名。 “xls”扩展名用于二进制格式文件。

根据您的评论进行编辑:
我错了:xlsx文件不仅仅是XML文件,它们是包含XML格式和其他元数据的zip存档。总而言之,设置起来有点复杂。我尝试将文件重命名为blah.xml,看看是否有效。否则我担心你可能不得不看看如何制作这些zip文件。有两种选择:

  • 使用Microsoft的OOXML SDK:请参阅http://msdn.microsoft.com/en-us/library/bb448854.aspx
  • 自己动手(更难)。你必须看看OOXML standard。第1部分包含概述和每个XML文件的说明。第2部分描述了包格式(即zip存档格式)。 xlsx文件的其他要求高于第2部分所说的内容,因此请先阅读第2部分,然后阅读第1部分。

答案 1 :(得分:0)

关于病房的Microsoft Office 2007,office文件以xml格式存储(office open xml包)。早期版本(2003及以下版本)不存储为xml文件。所以你看不到xls文件的标记。当然你可以看到xlsx文件的标记。您不需要任何编辑。如果您的系统中安装了WinRar,则只需打开任何MS-Office文件即可。
如果您尝试以编程方式打开它,那么您将获得DocumentFormat.xml.dll库(免费)(用于.net)和OpenXml4J(用于java)。