这两个Office Open XML片段之间有什么区别?
<c r="A2" t="str">
<v>btyler</v>
</c>
和
<c r="B2">
<is><t>btyler</t></is>
</c>
注意:我根据规范手动创建的第二个示例,第一个是来自实际的Excel工作簿。
根据规范,两者看起来都是有效的,几乎完全相同,所以我想知道为什么t="str"
<is>
似乎做同样的事情。 Excel何时选择使用其中一个?
答案 0 :(得分:8)
根据18.18.11 ST_CellType的文件:
str(String)包含公式的单元格 字符串。
因此,如果公式位于<x:v>
元素中,您只会使用第一个示例。
第二个用于内嵌字符串,<x:c>
元素的t
属性应为'inlineStr'
。这只是将输出的富文本,而不是存储在sharedstring表中。
所以你的第一个会像这样有效:
<x:c r="C6" s="1" vm="15" t="str">
<x:f>CUBEVALUE("xlextdat9 Adventure Works",C$5,$A6)</x:f>
<x:v>2838512.355</x:v>
</x:c>
你的第二个有效:
<x:c r="B2" t="inlineStr">
<is><t>btyler</t></is>
</c>