Що таке файл XLSB?
Формат файлу XLSB визначає двійковий формат файлу Excel, який є набором записів і структур, що визначають вміст книги Excel. Вміст може включати неструктуровані або напівструктуровані таблиці чисел, тексту або як чисел, так і тексту, формул, зв’язків зовнішніх даних, діаграм і зображень. На відміну від XLSX (який базується на форматі Open XML), XLSB представляє двійковий файл книги Excel. Файли XLSB можна читати та записувати швидше, що робить їх корисними для роботи з великими файлами. XLSB рідко використовується для зберігання робочих книг, оскільки XLSX (і раніше XLS) є найпоширенішим форматом файлів, вибраним користувачем для збереження робочих книг. Його можна відкрити в Microsoft Office 2007 і вище.
Специфікації формату файлу XLSB
Специфікації формату файлів для формату XLSB були опубліковані ще в 2008 році як версія 1.0. З тих пір специфікації переглядалися кілька разів, і остання версія специфікацій (версія 10.0) була опублікована в квітні 2018 року. Microsoft оприлюднила специфікації як [[MS-XLSB] – специфікації формату двійкового файлу Excel](https:/ /msdn.microsoft.com/en-us/library/cc313133(v#office.12).aspx) і будь-хто повинен звернутися до нього щодо читання або запису файлів у форматі XLSB.
Структура файлу XLSB
Файл XLSB — це пакет, який складається з набору частин. Ці частини містять інформацію про вміст робочої книги, включаючи дані робочої книги та структуру пакета. Деякі частини містять інформацію, збережену за допомогою двійкових записів, деякі як XML, а інші містять інформацію, збережену як двійковий потік байтів. Кожен двійковий запис містить нуль або більше структурованих полів, які містять дані книги.
Пакет
Пакет XLSB — це архів ZIP, який має містити рівно одну частину книги. Ця частина має бути метою зв’язку в цій частині зв’язку пакета. Частина робочої книги є початковою частиною в документі XLSB.
Частина
Частина — це потік байтів із пов’язаним типом вмісту, який визначає характер і тип вмісту, що зберігається в частині. Деякі частини зберігають інформацію у двійковому форматі, а інші зберігають інформацію як XML. У розділі перелік частин документа специфікацій перелічено дійсні частини, типи вмісту та обов’язкові/додаткові зв’язки між всі частини в упаковці.
стосунки
Джерело та цільовий ресурс пов’язані зв’язком. Відносини можуть бути:
Зв’язок між пакетами: де ціль — частина, а джерело — пакет у цілому
Взаємозв’язок між частинами: де мета є частиною, а джерело – частиною в пакеті
Явний зв’язок: де на ресурс посилається вміст вихідної частини шляхом посилання на значення атрибута ID елемента зв’язку
неявний зв’язок – це зв’язок, який не є явним
Внутрішній зв’язок: де мета є частиною пакета
Зовнішній зв’язок:, де метою є зовнішній ресурс, якого немає в пакеті
Запис
Запис — це основний будівельний блок, який використовується для зберігання інформації про функції в робочій книзі. Кожен двійковий запис є послідовністю байтів змінної довжини. Двійковий запис складається з трьох компонентів:
- тип запису
- рекордний розмір, а
- дані запису, які є специфічними для цього типу запису.
Тип запису: Тип запису показує тип запису, визначений записом. Він також визначає структуру даних запису, специфічну для цього запису. Дійсні типи записів наведено в розділі Перелік записів документа специфікацій. Тип запису має складатися з одного або двох байтів і бути більше або дорівнювати 128 і менше 16384.
Розмір запису: Розмір запису визначає кількість байтів, яка визначає загальний розмір даних запису. Це значення ПОВИННО бути від одного до чотирьох байтів. Це значення ПОВИННО бути одним байтом, якщо старший біт у молодшому байті дорівнює 0; інакше це значення ПОВИННО бути більшим за один байт. Якщо кількість байтів перевищує один байт, старший біт у кожному наступному байті визначає, чи використовується додатковий байт. Якщо старший біт другого байта дорівнює 1, то це значення ПОВИННО використовувати додатковий третій байт. Якщо старший біт третього байта дорівнює 1, то це значення ПОВИННО використовувати додатковий четвертий байт. Старший біт четвертого байта ПОВИНЕН ігноруватися. Значення складається з семи молодших бітів кожного байта разом. Молодші, молодші біти містяться в першому байті, а кожен наступний байт містить біти вищого порядку, ніж попередній байт.
Дані запису: Компонент даних запису містить поля, які відповідають певному типу запису та складають решту запису. Порядок і структура полів для даного типу запису, перелічених у Переліку записів, указані у відповідному розділі для цього типу запису в Записах. Загальний розмір компонента запису даних ПОВИНЕН дорівнювати розміру запису. Поля в компоненті запису даних можуть містити прості значення, масиви значень, структури з кількох полів, масиви полів і масиви структур.
Приклад запису XLSB
Наступний тип і розмір запису визначають запис BrtCommentText розміром 200 байт:
11111101 00000100 11001000 00000001 [Поля запису]
Перший байт дорівнює 11111101, вказуючи низьке значення 125 і те, що для типу запису потрібен другий байт. Другий байт — 00000100, що вказує на старше значення 4 * 128, що дорівнює 512. Значення типу запису — 125 + 512 або 637, що відповідає типу запису BrtCommentText. Наступний байт дорівнює 11001000, вказуючи низьке значення 72 і те, що для розміру запису потрібен другий байт. Другий байт — 00000001, що вказує на більш високе значення 1 * 128 і що розмір запису не вимагає додаткового байта. Розмір запису становить 72 + 128 або 200, що визначає загальний розмір компонента даних запису в байтах. Поля в компоненті даних запису визначаються BrtCommentText.
Посилання
See Also
- NB - формат файлу блокнота Mathematica
- OTS - формат файлу шаблону електронної таблиці OpenDocument
- XLR - формат файлу електронної таблиці Microsoft Works
- Що таке формат файлу Lotus 123? Дізнайтесь у експертів із форматування файлів!
- Що таке формат файлу XLS? Дізнайтесь у експертів із форматування файлів!