【问题标题】:OpenXML stylesheet corruptionOpenXML 样式表损坏
【发布时间】:2018-04-17 05:27:25
【问题描述】:

我在第 153 列的这个(为便于阅读而格式化)OpenXML 样式表上遇到错误,这似乎是“。”在 0.0% 格式标识符中。谁能看到这里有什么问题?如果我删除了 numFmts,那么问题就会消失。

<?xml version="1.0" encoding="utf-16"?>
<x:styleSheet xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
  <x:numFmts count="2">
    <x:numFmt />
    <x:numFmt numFmtId="164" formatCode="0.0%" />
  </x:numFmts>
  <x:fonts count="2">
    <x:font>
      <x:sz val="11" />
      <x:color rgb="000000" />
      <x:name val="Calibri" />
    </x:font>
    <x:font>
      <x:b />
      <x:sz val="11" />
      <x:color rgb="000000" />
      <x:name val="Calibri" />
    </x:font>
  </x:fonts>
  <x:fills count="1">
    <x:fill>
      <x:patternFill patternType="none" />
    </x:fill>
  </x:fills>
  <x:borders count="1">
    <x:border>
      <x:left />
      <x:right />
      <x:top />
      <x:bottom />
      <x:diagonal />
    </x:border>
  </x:borders>
  <x:cellXfs count="3">
    <x:xf />
    <x:xf fontId="1" applyFont="1" />
    <x:xf numFmtId="164" applyNumberFormat="1" />
  </x:cellXfs>
</x:styleSheet>

【问题讨论】:

    标签: openxml


    【解决方案1】:

    上一行中的空 &lt;x:numFmt&gt; 元素是问题的原因。 numFmtIdformatCode 是该元素中的必需元素。

    ECMA 的架构是:

    <xsd:complexType name="CT_NumFmt">
        <xsd:attribute name="numFmtId" type="ST_NumFmtId" use="required"/>
        <xsd:attribute name="formatCode" type="s:ST_Xstring" use="required"/>
    </xsd:complexType>
    

    在这种情况下值得尝试OpenXml Productivity Tool。它将验证文件以及来自有效文件的反向工程代码。在你的情况下,你会得到这样的东西:

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2012-01-12
    相关资源
    最近更新 更多