OpenXML SDK保存.xlsx文件丢失

时间:2012-10-02 17:48:25

标签: c# openxml openxml-sdk

我正在使用OpenXML SDK创建电子表格。电子表格包含多个工作表,样式等。

  • 当我在Excel中打开文件时,它呈现正常,没有错误,并正确显示所有单元格格式和数据。
  • 当我在移动设备上打开文件时,根据应用程序的不同,我会收到错误消息,指出该文件已损坏或完全丢失。

我在Excel中打开了.xlsx文件并将其保存到另一个文件中;然后我在相应的zip文件里面的目录结构上做了一个diff。我注意到了:

  • 新副本(通过Excel的副本)现在可以在所有经过测试的移动应用上正确呈现。
  • 只有新副本包括:
    • / docProps
    • / xl / theme
    • docProps / app.xml的
    • docProps.core.xml
    • docProps / theme1.xml
  • 只有旧版本包含:
    • / xl / worksheets / _rels /
    • 片#.xml.rels
  • 修改过的文件:
    • 片#.XML
    • sharedStrings.xml
    • styles.xml
    • workbook.xml
    • [CONTENT_TYPES]的.xml

在保存以解决这些冲突之前,我需要对此文件做些什么?

1 个答案:

答案 0 :(得分:1)

问题似乎是关系URI。有关类似问题,请参阅此问题:

OpenXML spreadsheet created in .NET won't open in iPad

最大的问题是工作表XML文件必须是“sheet1.xml”而不是“/xl/sheet1.xml”,与其他相关的XML文件一样。