合并单元格上的OpenXML SDK边框仅应用于第一个单元格

sov*_*emp 5 c# excel openxml openxml-sdk

使用OpenXML SDK将边框应用于合并的单元格区域时,边框仅显示合并范围中的第一个(左上角)单元格.我完全不知道,这让我发疯.使用生产力工具,我找不到任何有意义的差异,我有什么和预期的工作.这是我为样式表生成的XML:

    <x:borders count="2" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
      <x:border>
        <x:left />
        <x:right />
        <x:top />
        <x:bottom />
        <x:diagonal />
      </x:border>
      <x:border>
        <x:left />
        <x:right />
        <x:top />
        <x:bottom style="thick">
          <x:color auto="1" />
        </x:bottom>
        <x:diagonal />
      </x:border>
    </x:borders>
    <x:cellXfs xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
      <x:xf fontId="0" />
      <x:xf fontId="1" fillId="2" applyFont="1" applyFill="1" />
      <x:xf borderId="1" applyBorder="1" />
    </x:cellXfs>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切,在边界之前,之后等应用合并.

sov*_*emp 6

我已经弄清楚了.我的印象是,如果将样式应用于一组合并单元格中的左上角单元格,则表示该样式将应用于整个合并.我发誓我读了一些说的文件,但显然并非如此.有效的是我将边框样式应用于合并范围中的每个单元格,而不仅仅是第一个单元格.

对我来说似乎很奇怪,我最初拥有它的方式甚至是允许的,因为除了通过OpenXML SDK之外,生成的输出是不可能再现的.