Как заставить Excel соблюдать высоту строки по умолчанию, используя OpenXml - PullRequest
0 голосов
/ 06 марта 2020

Я хочу установить для высоты листа по умолчанию для листа значение 9, которое для Arial 11 преднамеренно меньше размера, необходимого для размещения шрифта. В настоящее время я использую следующий XML в листе:

    <x:sheetFormatPr defaultColWidth="3.7109375" defaultRowHeight="9" />

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

    <sheedData>
        <x:row r="1" spans="1:1" ht="12.75" customHeight="1">
            <x:c r="A1" s="1" t="s">
                <x:v>0</x:v>
            </x:c>
        </x:row>
        <x:row r="3" spans="1:1" ht="9" customHeight="1">
            <x:c r="A3" s="2" />
        </x:row>
        <!-- more rows with height 9 -->
    </sheetData>

... но это не соответствует моим требованиям. Мне нужно, чтобы ВСЕ будущие строки в Excel были по умолчанию в соответствии с defaultRowHeight="9", но при открытии в Excel высота строки возвращается к 12.75. Ниже приведен XML, который изначально был сохранен в Excel и который я использую в качестве шаблона:

    <sheetFormatPr defaultColWidth="9.140625" defaultRowHeight="9"/>
    <!-- column widths -->
    <sheetData>
        <row r="1" spans="1:50">
            <c r="A1" s="1" t="s">
                <v>94</v>
            </c>
        </row>
        <row r="2" spans="1:50" customFormat="1" ht="12.75">
            <c r="A2" s="1" t="s">
                <v>77</v>
            </c>
        </row>
        <row r="3" spans="1:50">
            <c r="B3" s="7"/>
        </row>
        <!-- more rows with height not set -->
    </sheetData>

Я пытался вернуть почти те же данные обратно в Excel, но, похоже, есть некоторые волхвы c информация где-то в схеме Open XML, о которой я не знаю ... кто-нибудь знает?

...