【问题标题】:What's the difference between <c t="str"> and <c><is> in Office Open XML?Office Open XML 中的 <c t="str"> 和 <c><is> 有什么区别?
【发布时间】:2011-01-19 20:10:08
【问题描述】:

这两个 Office Open XML 片段有什么区别?

<c r="A2" t="str">
  <v>btyler</v>
</c>

<c r="B2">
  <is><t>btyler</t></is>
</c>    

注意:我根据规范手动创建的第二个示例,第一个来自实际的 Excel 工作簿。

根据规范,两者似乎都有效且几乎相同,所以我想知道为什么&lt;is&gt; 似乎在做同样的事情时有t="str"。 Excel 何时选择使用其中一个?

【问题讨论】:

    标签: excel openxml openxml-sdk xlsx spreadsheetml


    【解决方案1】:

    根据18.18.11 ST_CellType的文档:

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

    因此,如果公式位于 &lt;x:v&gt; 元素中,您只会使用第一个示例。

    第二个用于内联字符串,&lt;x:c&gt; 元素应具有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>
    

    【讨论】:

      猜你喜欢
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2018-01-02
      • 2012-01-20
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多