Общие строки в Excel 2010
Может ли кто-нибудь помочь мне в понимании общих строк в MS Excel? Я попытался понять, используя некоторые блоги, но не смог получить полное представление. Все объясняют, как получить доступ к общей строке с помощью Open XML и где хранятся общие строки (как sharedstrings.XML). Доступ с помощью API-это нормально. Но,
- Как создать общие строки в Excel. (Создание вручную в EXCEL 2010, не используя API)
- какова точная потребность в общих строках?
- в каких случаях я можно ли перейти на общие строки?
Я попытался последовать за ним.
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).