2

我正在编写一个 xlsx 文件,我想在其中将自己的样式应用于工作表中的单元格。我有一个案例,样式 1 和样式 2 都指定纯红色,但是当我在 excel 中打开它时,第一个是灰色斑点,但第二个是我所期望的。我被难住了。这是附件中的一些 xml。

在工作表中,我有 2 个单元格:

  <x:c t="inlineStr" s="2">
    <x:is>
      <x:t>looks right</x:t>
    </x:is>
  </x:c>
  <x:c t="inlineStr" s="1">
    <x:is>
      <x:t>looks wrong</x:t>
    </x:is>
  </x:c>

在styles.xml 文件中,我将这些单元格样式定义如下:

<x:cellXfs>
  <x:xf borderId="0" fillId="0" fontId="0" numFmtId="0"/>
  <x:xf fillId="1" applyFill="1"/>
  <x:xf fillId="2" applyFill="1"/>      
</x:cellXfs>

填充物在哪里:

<x:fills>
  <x:fill>
    <x:patternFill patternType="none"/>
  </x:fill>
  <x:fill>
    <x:patternFill patternType="solid">
      <x:fgColor rgb="FFFF0000"/>
    </x:patternFill>
  </x:fill>
  <x:fill>
    <x:patternFill patternType="solid">
      <x:fgColor rgb="FFFF0000"/>
    </x:patternFill>
  </x:fill>
</x:fills>

填充 1 和 2 都是纯红色,因此单元格样式 1 和 2 应该相同,对吧?但他们不是。

这是 Excel 错误吗?是否有编号为 1 的预定义填充样式覆盖了我的定义?

嗯,我看不到如何将文件附加到问题...

4

1 回答 1

4

事实证明,我的第二个猜测是正确的。填充#1 硬连线到 gray125。Excel 在读取 xml 时忽略此填充的定义。如果这被记录在某处会很好。

于 2013-11-01T17:16:45.210 回答