在XLSX文件(Excel 2007)中的工作表的XML中,“t”属性等于“s”的单元格标记是字符串类型。需要通过sharedStrings文档查找并转换c中的value标记。但是,有些单元格的s =“237”并且根本没有t属性。 value标签有一个像39448这样的整数,它与sharedStrings文档无关。 Excel中显示的值是日期1/1/2008。
s属性在XLSX中的c标记中表示什么?
未知值
<c r="B47" s="237">
<v>39448</v>
</c>
共享字符串值
<c r="C47" t="s">
<v>7</v>
</c>
答案 0 :(得分:7)
s属性指的是一种风格。 “237”是styles.xml文件中定义的样式。
<v>39448</v>
...很可能是双格式的日期。样式237告诉excel以日期格式显示 39448 。
您可以在此处查看其工作原理示例:http://blogs.msdn.com/b/brian_jones/archive/2007/05/29/simple-spreadsheetml-file-part-3-formatting.aspx
答案 1 :(得分:2)
s属性引用等于237,指向xlsx文件中包含的styles.xml文件中父元素中找到的第237个元素。
如果单元格值是日期,则该元素可以类似于以下代码
<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>
此时我们没有看到此单元格代表日期类型。 要理解这一点,我们必须找到&lt; numFmtId&gt;以“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; @”
在简历中,要查找单元格是否包含数字或日期,我们必须
我希望能帮到别人。