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

本文关键字:单元格 应用于 第一个 边框 OpenXMLSDK 合并 | 更新日期: 2023-09-27 18:20:41

使用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>

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

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

我已经弄明白了。我的印象是,如果你将一个样式应用于一组合并单元格中的左上角单元格,那么所述样式将应用于整个合并。我发誓我读过一些文件,但事实显然并非如此。成功的是,我将边框样式应用于合并范围中的每个单元格,而不仅仅是第一个单元格。

在我看来,奇怪的是,考虑到生成的输出除了通过OpenXMLSDK之外不可能复制,我最初的方式甚至被允许。