Що таке файл XLS?
Файли з розширенням XLS представляють двійковий формат файлу Excel. Такі файли можна створювати за допомогою Microsoft Excel, а також інших подібних програм для роботи з електронними таблицями, наприклад OpenOffice Calc або Apple Numbers. Файл, збережений Excel, називається робочою книгою, де кожна робоча книга може містити один або кілька робочих аркушів. Дані зберігаються та відображаються користувачам у форматі таблиці на аркуші та можуть охоплювати числові значення, текстові дані, формули, зв’язки зовнішніх даних, зображення та діаграми. Такі програми, як Microsoft Excel, дозволяють експортувати дані робочої книги в кілька різних форматів, зокрема PDF, CSV, XLSX, TXT, HTML, XPS та кілька інших. Формат файлу XLS було замінено більш відкритим і структурованим форматом XLSX із випуском Microsoft Excel 2007. Останні версії все ще забезпечують підтримку створення та читання файлів XLS, хоча зараз XLSX є першим вибором для використання.
Коротка історія
XLS був створений Microsoft для використання з Microsoft Excel і також відомий як двійковий формат обміну файлами (BIFF). Цей тип файлу було вперше представлено, коли він став частиною Excel для Windows у 1987 році. Специфікації формату файлу XLS були вперше опубліковані в червні 2008 року як Редакція 1. Після цього специфікації постійно оновлювалися, і була доступна остання версія. станом на серпень 2018 року позначено як версія 8.0. Коротка історія різних версій формату файлу XLS така:
- Версія 7.0 (випущена з Office 95): ця версія excel була найнадійнішою та швидшою серед усіх версій, а перезапис внутрішнього потоку було оновлено до 32 бітів.
- Версія 8 (випущена з Office 97): VBA було введено як стандартну мову, і в цій версії вперше було включено видалені позначки природної мови. Він також вперше представив офісного помічника для скріпок.
- Версія 9 (випущена разом з Office 2000): у версії 9 були лише незначні зміни, де офісний помічник скріпки міг одночасно утримувати кілька об’єктів, що раніше було неможливо.
- Версія 10 (випущена з office XP): ця версія не містила помітних покращень.
- Версія 11 (випущена з Office 2003): Основним оновленням у версії 11, excel 2003, було введення нових таблиць.
Специфікації формату файлу XLS
Дані впорядковуються у файлі XLS як двійкові потоки у формі складеного файлу, як описано в [MS-CFB]. Дані зберігаються у складеному файлі за допомогою сховищ, потоків і підпотоків, які містять інформацію про вміст і структуру робочої книги, включаючи дані робочої книги, такі як визначення робочих аркушів. Кожен потік або підпотік містить серію двійкових записів. Кожен двійковий запис містить нуль або більше структурованих полів, які містять дані книги. У цьому розділі подано короткий огляд структури файлу XLS, але для отримання детальних специфікацій формату файлу необхідно ознайомитися з [Специфікаціями формату файлу XLS](https://msdn.microsoft.com/en-us/library/cc313154(v#office) .12).aspx) документ Microsoft.
Потік і підпотік
Робоча книга представлена потоком робочої книги. Кожен робочий аркуш у книзі представлено підпотоками. Крім того, він має підпотік аркуша діаграми, підпотік макросів або підпотік діалогового аркуша, який слідує за глобальним підпотоком. Кожен двійковий потік або підпотік, що містить дані робочої книги ПОВИНЕН бути записаний як серія двійкових записів.
Запис
Інформація про функції в робочій книзі зберігається як запис, який є послідовністю байтів змінної довжини. Двійковий запис складається з наступних трьох компонентів:
Тип запису: Тип запису — це двобайтове ціле число без знаку, яке вказує, який тип інформації вказує запис, а також те, як упорядковано та структуровано структуру даних запису, характерну для цього запису. Значення типу запису ПОВИННІ бути значеннями з переліку записів (розділ 2.3) або запис ПОВИНЕН використовувати майбутню архітектуру запису (розділ 2.1.6).
Розмір запису: Розмір запису — це двобайтове ціле число без знаку, яке вказує кількість байтів, що визначає загальний розмір даних запису. Розмір запису ПОВИНЕН бути більшим або дорівнювати 0 і ПОВИНЕН бути меншим або дорівнювати 8224.
Дані запису: Компонент даних запису містить поля, які відповідають певному типу запису та складають решту запису. Порядок і структура полів для даного типу запису вказуються у відповідному розділі для цього типу запису. Розмір компонента даних запису ПОВИНЕН дорівнювати розміру запису. Поля в компоненті запису даних можуть містити прості значення, масиви значень, структури з кількох полів, масиви полів і масиви структур.
Таблиця клітинок
Комірки — це основні блоки робочої книги, у яких зберігається вміст книги, як-от текст, формули та числові дані. Клітини ведуть запис збережених даних за допомогою структури даних, яка називається таблицею комірок. Сама таблиця клітинок зберігається в послідовності записів, які відповідають правилам CELLTABLE, визначеним у документі специфікацій. Він складається з серії рядкових блоків, де ряди розташовані в рядкових блоках. Кожен блок рядків містить рядки від першого рядка, що містить дані, до останнього рядка, що містить дані.
Дані або форматування рядка зберігаються в записі рядка для кожного блоку рядка. Кожна клітинка, яка містить дані або окреме форматування клітинки, представлена записом. Форматування, пов’язане з коміркою, може бути отримано з форматування окремої комірки, форматування рядка, форматування стовпця або стандартного формату комірки. Порядок пріоритету для форматування – це форматування окремої комірки з найвищим пріоритетом, потім форматування рядка, потім форматування стовпця, а потім формат комірки за замовчуванням. Комірки, які не містять даних і не містять індивідуального форматування, не зберігаються.
Формули
Формула — це послідовність значень, посилань на клітинки, імен, функцій або операторів у клітинці, які разом створюють нове значення. Формули зберігаються в токенізованому представленні, відомому як «розібрані вирази». Проаналізований вираз перетворюється на текстову формулу під час виконання для відображення та редагування користувачем. Формули клітинок задаються записом Формула. Формули масиву задаються записом Array. Спільні формули визначаються записом ShrFmla.
Графіки
Аркуш діаграми визначає діаграму, графіку, яка відображає дані або зв’язки між наборами даних у візуальній формі, і кеш даних діаграми, локальну копію даних, які використовуються в даних діаграми, відсутні або якщо посилання на зовнішні джерела даних несправні. На діаграмі вказуються групи з однією або двома осями, набір осей, відносно яких відображаються дані діаграми, а також набір рядів, ліній тренду та смуги похибок, указаних на діаграмі. Кожна група осей визначає від однієї до чотирьох груп діаграм, які визначають тип візуалізації, що використовується для відображення даних. Кожна серія, лінія тренду та панель помилок визначає групу діаграм, з якою вони пов’язані.
Метадані
Метадані — це додаткові дані, пов’язані з певною клітинкою або її вмістом. Метадані записуються в BIFF8 лише з метою подальшого розширення.
Зведені таблиці
Зведена таблиця — це механізм узагальнення вихідних даних, щоб отримати огляд розподілу цих даних. У зведеній таблиці відповідні стовпці вихідних даних стають полями, які можна використовувати для підсумовування даних. Якщо вихідними даними зведеної таблиці є вихідні дані OLAP, ієрархії OLAP та деякі інші сутності OLAP стають полями зведеної таблиці. Зведена таблиця складається з двох основних частин: PivotCache і представлення PivotTable. На основі одного не-OLAP PivotCache може бути кілька представлень зведеної таблиці.
Стилі
У цьому огляді описано, як задається інформація про форматування та захист комірок на аркуші (1). Форматування клітинок складається з кількох наборів властивостей:
- Властивості шрифту (жирний, курсив, колір шрифту, розмір шрифту тощо)
- Властивості заливки (колір переднього плану, колір фону, візерунок, градієнт тощо)
- Властивості вирівнювання (вирівнювання за лівим краєм, по центру, за правим краєм тощо)
- Властивості межі (ліва, права, верхня, нижня, товста чи тонка, колір тощо)
- Властивості форматування чисел (дата, час, кількість знаків після коми тощо)
- Властивості захисту (заблоковані, приховані тощо)
Ці властивості в цілому описують, як конкретна комірка відображається та друкується.