Общие строки в Excel 2010


Может ли кто-нибудь помочь мне в понимании общих строк в MS Excel? Я попытался понять, используя некоторые блоги, но не смог получить полное представление. Все объясняют, как получить доступ к общей строке с помощью Open XML и где хранятся общие строки (как sharedstrings.XML). Доступ с помощью API-это нормально. Но,

  1. Как создать общие строки в Excel. (Создание вручную в EXCEL 2010, не используя API)
  2. какова точная потребность в общих строках?
  3. в каких случаях я можно ли перейти на общие строки?

Я попытался последовать за ним.

Http://www.sadev.co.za/content/reading-and-writing-excel-2007-or-excel-2010-c-part-iii-shared-strings

Http://msdn.microsoft.com/en-us/library/gg278314.aspx

1 7

1 ответ:

Общие строки-это в основном механизм экономии места. Что касается ваших вопросов:

A1 . Вы не можете вручную создавать общие строки с помощью пользовательского интерфейса Excel. Это потому, что Excel по умолчанию всегда хранит любой текст в виде общей строки.

A2 . Как уже упоминалось, это механизм экономии места. Excel 2007/2010/2013 использует формат Open XML, который в основном представляет собой набор XML-файлов, сжатых вместе. Это также может быть для удобства ссылок. Вы просто должны обратиться к индекс, точно так же, как вы ссылаетесь на индекс массива строк. (Но XML по своей сути многословен, поэтому я подозреваю, что это для экономии места).

Допустим, у вас есть текст "это очень длинная строка" в ячейке A1 листа "FirstSheet". Допустим, у вас также есть такой же текст в ячейке B7 листа "SecondSheet". Excel хранит "это очень длинный текст" в таблице общих строк в виде одной записи, скажем, индекс 5. В ячейке" FirstSheet " A1 ячейка класса SDK Open XML будет содержать только "5" в качестве CellValue. В ячейке B7" SecondSheet "ячейка класса SDK также будет содержать"5".

В основном, CellValue содержит только индекс к общей таблице строк. Вот как вы экономите место. Предполагается, что текст дублируется как внутри листа, так и между различными листами.

A3 . Перейдите к общим строкам, если вы понимаете, как заставить его работать. Если нет, то просто установить фактическое текста в ячейке-класс для CellValue (клетки.Тип данных как значения ячеек.Строка вместо Ячеек.SharedString).