2012-10-02 101 views
2

我使用OpenXML SDK创建电子表格。该电子表格有几个工作表,款式等OpenXML SDK保存.xlsx文件丢失

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

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

  • 新副本(经过Excel的副本)现在在所有测试的移动应用程序上正确呈现。
  • 只有新副本包括:
    • /docProps
    • /XL /主题
    • docProps/app.xml的
    • docProps.core.xml
    • docProps/theme1.xml
  • 只有旧副本包括:
    • /XL /工作表/ _rels/
    • 片#.xml.rels
  • 修改的文件:
    • 片#.XML
    • sharedStrings.xml
    • 样式。 xml
    • workbook.xml
    • [CONTENT_TYPES]。XML

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

+0

也许你不保存你创建的xlsx文件的某些部分。 Excel可以哄骗它并显示该文件,但其他一些编辑器无法在没有它们的情况下阅读这些文件。这只是一个猜测。 –

+0

我创建了两种字体,一种边框,一种CellStyleFormat,几种填充和几种CellFormats,以将它们与单元相关联,所有这些都包括所需的默认值。除了显而易见的工作表和零件等,还需要什么?这些_rels物品去哪里? – tsilb

+0

确保通过调用'spreadsheet.WorkbookPart.WorkbookStylesPart.Stylesheet.Save();'单独保存样式表(如果添加了)。 –

回答