В чем разница между Office Open XML и Office Open XML?

в чем разница между этими двумя фрагментами 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 выбирает использование одного над другим?

1 ответов


согласно документации на 18.18.11 ST_CellType:

ячейка str (String), содержащая формулу строка.

таким образом, вы бы использовали только свой первый пример, если бы формула была в <x:v> элемент.

второй используется для встроенных строк и <x:c> элемент должен иметь на 'inlineStr'. Это будет просто богатый текст, который будет выведен и не сохранен в sharedstring таблица.

таким образом, ваш первый будет действителен следующим образом:

<x:c r="C6" s="1" vm="15" t="str">
   <x:f>CUBEVALUE("xlextdat9 Adventure Works",C,$A6)</x:f>
   <x:v>2838512.355</x:v>
</x:c>

ваш второй будет действителен следующим образом:

<x:c r="B2" t="inlineStr">
   <is><t>btyler</t></is>
</c>