我已经收到了奇怪的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打开文件时,看到该单元格具有'文本'类型:有什么解释吗?
PS。该文件是由MS Excel产生的
我解决了这个问题(感谢@AxelRichter评论)。