Открытое XML значение ячейки листа не принимает более 15 нулей - PullRequest
0 голосов
/ 13 июля 2020

Я делаю генерацию XLSX, и моя программа генерирует битые файлы XLSX. Я делаю это с помощью ABAP XML преобразований , но я считаю, что проблема более распространена и будет представлена ​​в любом инструменте генерации Open XML.

Я говорю о файлах данных листа , который находится в <file>.xlsx\xl\worksheets\ пути к архиву XLSX.

Если файл sheet1.xml имеет номер из 16+ символов в значении ячейки, то есть <v> tag

<?xml version="1.0" encoding="utf-8"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
    <dimension ref="A1:C6"/>
    <sheetViews>
        <sheetView workbookViewId="0">
            <selection activeCell="A1" sqref="A1"/>
        </sheetView>
    </sheetViews>
    <sheetFormatPr defaultRowHeight="12.75"/>
    <cols>
        <col min="1" max="16384" bestfit="1" width="15" customWidth="1" style="0" hidden="0" outlineLevel="0"/>
    </cols>
    <sheetData>
        <row r="1" spans="1:3 ">
            <c r="A1" s="5" t="s">
                <v>0</v>
            </c>
            <c r="B1" s="5" t="s">
                <v>0</v>
            </c>
            <c r="C1" s="5" t="s">
                <v>0</v>
            </c>
        </row>
        <row r="2" spans="1:3 ">
            <c r="A2">
                <v>0000000001</v>
            </c>
            <c r="B2" t="s">
                <v>1</v>
            </c>
            <c r="C2">
                <v>000000000000000000</v>
            </c>
        </row>
        <row r="3" spans="1:3 ">
            <c r="A3">
                <v>0000000003</v>
            </c>
            <c r="B3" t="s">
                <v>0</v>
            </c>
            <c r="C3">
                <v>000000000000000000</v>
            </c>
        </row>
    </sheetData>
    <pageMargins bottom="1" footer="0.5" header="0.5" left="0.75" right="0.75" top="1"/>
    <headerFooter alignWithMargins="0"/>
</worksheet>

it выдает такую ​​ошибку

enter image description here

However, if I manually change the sheet1.xml inside the archive to 15 chars cell value

 000000000000000   

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

Путем проверки Открыть XML схемы формата Ничего не нашел о таком ограничении.

Откуда это ограничение?

...