OOXML电子表格中的默认单元格类型

问题描述 投票:0回答:1

我已经收到了奇怪的XLSX文件(OOXML)。这是其工作表(xl / worksheets / sheet1.xml)的一些代码片段:

    <row r="2" spans="1:6" x14ac:dyDescent="0.25">
        <c r="A2" s="11" t="s">
            <v>33</v>
        </c>
        <c r="B2" s="10">
            <v>444</v>
        </c>
        <c r="C2" s="5"/>
        <c r="D2" s="12">
            <v>1</v>
        </c>
        <c r="E2" s="5"/>
        <c r="F2" s="3"/>
    </row>

请注意第二个单元格-它没有't'属性。根据ECMA-376(附件A.2,第3918页,第2301行),单元格的默认类型(如果未提及)为'n'(数字):

<xsd:attribute name="t" type="ST_CellType" use="optional" default="n"/>

如果尝试在getCellType()中调用Apache POI,则会得到NUMERIC。没关系。

但是当我使用LibreOffice打开文件时,看到该单元格具有'文本'类型:enter image description here有什么解释吗?

PS。该文件是由MS Excel产生的

java excel apache-poi openxml libreoffice-calc
1个回答
0
投票

我解决了这个问题(感谢@AxelRichter评论)。

© www.soinside.com 2019 - 2024. All rights reserved.