Атрибут s указывает, что равен 237, указывает на 237-й элемент, найденный в родительском элементе в файле styles.xml, содержащемся в файле xlsx.
Если значение ячейки является датой, элемент может быть похож на следующий код
<xf numFmtId="167"
fontId="6"
fillId="0"
borderId="6"
xfId="3"
applyNumberFormat="1"
applyFont="1"
applyFill="1"
applyBorder="1"
applyAlignment="1">
<alignment horizontal="center"/>
</xf>
На данный момент мы не видим, чтобы эта ячейка представляла тип даты.
Чтобы понять это, мы должны найти с ключом "167".
Это значение можно найти в начале файла styles.xml
<numFmts count="7">
<numFmt numFmtId="164" formatCode="[$-409]d\-mmm\-yy;@"/>
<numFmt numFmtId="165" formatCode="0.000"/>
<numFmt numFmtId="166" formatCode="0.0"/>
<numFmt numFmtId="167" formatCode="[$-409]d\-mmm\-yyyy;@"/>
<numFmt numFmtId="168" formatCode="0.0%"/>
<numFmt numFmtId="169" formatCode="00000"/>
<numFmt numFmtId="170" formatCode="0.0000"/>
</numFmts>
Строка с numFmtId = "167" указывает, что значением ячейки является дата, отформатированная с использованием следующей строки "[$ -409] d-mmm-yyyy; @"
В резюме, чтобы узнать, содержит ли ячейка число или дату, мы должны
- найти атрибут S (= style) элемента
- найдите атрибут numFmtId элемента в файле styles.xml в файле xlsx.
- найдите атрибут formatCode , для которого в качестве ключа указан * numFmtId
- посмотреть, является ли формат форматом даты или числа
Я надеюсь, что это может помочь другим.