2015-11-05 6 views
5

При использовании SDK OpenXML для применения границы к диапазону объединенных ячеек граница отображается только для первой (верхней левой) ячейки в диапазоне слияния. Я понятия не имею, и это сводит меня с ума. Используя инструмент повышения производительности, я не могу найти сколько-нибудь значимой разницы в том, что у меня есть, и что-то, что работает так, как ожидалось. Это мой генерируется XML для таблицы стилей:Рамка OpenXML SDK для объединенных ячеек применяется только к первой ячейке

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

Я пробовал все, применяя слияние до границы, после и т.д.

+1

Можете ли вы разместить XML, который работает так, как ожидалось? Может быть, разница между ними не кажется значимой, но другие смогут увидеть значение. –

+0

@pnuts. Да, я не публиковал его, потому что это (таблица стилей) буквально одинаково. Проблема была на самом деле с самими ячейками, как я выяснил. – sovemp

ответ

5

Я понял это. У меня создалось впечатление, что если вы примените стиль к верхней левой ячейке в группе объединенных ячеек, то указанный стиль будет применяться ко всему объему. Клянусь, я прочитал некоторые документы, которые сказали это, но это, очевидно, не так. То, что работало, это то, что я применил стиль границы для каждой ячейки в диапазоне слияния, а не только для первого.

Мне кажется странным, что способ, которым я изначально был, даже допустим, учитывая, что сгенерированный вывод невозможно воспроизвести, кроме как через OpenXML SDK.

+1

может подтвердить в 2018 году, это указано в официальной документации Microsoft для класса MergeCells – Palcente