8

这两个 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 何时选择使用其中一个?

4

1 回答 1

11

根据18.18.11 ST_CellType的文档:

str (String) 包含公式字符串的单元格。

<x:v>因此,如果元素中存在公式,您只会使用第一个示例。

第二个用于内联字符串,该元素<x:c>应具有. 这只是将输出的富文本,而不是存储在共享字符串表中。t'inlineStr'

因此,您的第一个将像这样有效:

<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>
于 2011-01-19T20:59:04.090 回答