2011-01-19 17 views
6

這兩個Office Open XML片段有什麼區別?Office Open XML中的<c t="str">和<c><is>有什麼區別?

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

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

注:我手動創建基於規範的第二樣品,第一個是從實際的Excel工作簿。

兩者似乎都有效,根據規格幾乎相同,所以我想知道爲什麼有t="str"<is>貌似做同樣的事情。 Excel何時選擇使用另一種?

回答

8

根據在18.18.11 ST_CellType文檔:含有式 串

STR(字符串)細胞。

因此,如果一個公式只在<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> 
相關問題