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

C# 合并单元格上的OpenXML SDK边框仅应用于第一个单元格,c#,excel,openxml,openxml-sdk,C#,Excel,Openxml,Openxml Sdk,当使用OpenXMLSDK将边框应用于合并单元格区域时,边框仅显示在合并区域的第一个(左上)单元格中。我完全不知道,这让我发疯。使用生产力工具,我找不到我所拥有的和预期效果有任何有意义的区别。这是我为样式表生成的XML: <x:borders count="2" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> <x:border> <x:le

当使用OpenXMLSDK将边框应用于合并单元格区域时,边框仅显示在合并区域的第一个(左上)单元格中。我完全不知道,这让我发疯。使用生产力工具,我找不到我所拥有的和预期效果有任何有意义的区别。这是我为样式表生成的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>


我已经尝试了所有方法,在边界之前、之后等应用合并。

我已经找到了答案。我的印象是,如果在一组合并单元格的左上角单元格中应用样式,则所述样式将应用于整个合并。我发誓我读过一些文件,上面说的是,但事实显然不是这样。我将边框样式应用于合并区域中的每个单元格,而不仅仅是第一个单元格


考虑到生成的输出除了通过OpenXMLSDK之外是不可能复制的,所以我觉得奇怪的是,我最初使用的方式甚至被允许了。

你能发布预期效果的XML吗?也许这两者之间的差异似乎没有什么意义,但其他人可以看到其意义。@pnuts。是的,我没有发布它,因为它(样式表)完全相同。正如我所发现的,问题实际上是细胞本身的问题。我可以在2018年确认,这在微软官方的MergeCells类文档中有说明