Какво е 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.
Данни за запис: Компонентът за данни за запис съдържа полета, които съответстват на определен тип запис и съставляват останалата част от записа. Редът и структурата на полетата за даден тип запис са посочени в съответния раздел за този тип запис. Размерът на компонента на записа на данни ТРЯБВА да бъде равен на размера на записа. Полетата в компонента за запис на данни могат да съдържат прости стойности, масиви от стойности, структури от няколко полета, масиви от полета и масиви от структури.
Таблица с клетки
Клетките са основните блокове на работна книга, които съхраняват съдържанието на работната книга като текст, формули и числови данни. Клетките поддържат записа на съхранените данни чрез структура от данни, наречена Cell Table. Самата таблица с клетки се съхранява в поредица от записи, които отговарят на правилата CELLTABLE, дефинирани в документа със спецификациите. Състои се от поредица от редови блокове, където редовете са подредени в редови блокове. Всеки блок от редове съдържа редове от първия ред, съдържащ данни, до последния ред, съдържащ данни.
Форматирането на данни или ред се записва в запис на ред за всеки блок ред. Всяка клетка, която съдържа данни или индивидуално форматиране на клетка, се представя от запис. Форматирането, свързано с клетка, може да бъде получено от форматиране на отделна клетка, форматиране на ред, форматиране на колона или формат на клетка по подразбиране. Редът на приоритет при форматиране е форматирането на отделни клетки с най-висок приоритет, последвано от форматиране на редове, след това форматиране на колони и след това форматиране на клетки по подразбиране. Клетки, които не съдържат данни и не съдържат индивидуално форматиране, не се записват.
Формули
Формулата е поредица от стойности, препратки към клетки, имена, функции или оператори в клетка, които заедно създават нова стойност. Формулите се съхраняват в токенизирано представяне, известно като “анализирани изрази”. Анализиран израз се преобразува в текстова формула по време на изпълнение за показване и редактиране от потребителя. Клетъчните формули се определят от записа на формула. Формулите на масива се определят от записа на масива. Споделените формули се определят от записа ShrFmla.
Графики
Листът с диаграма определя диаграма, графика, която показва данни или връзките между набори от данни във визуална форма, и кеш на данни за диаграма, локално копие на данните, които се използват в данните на диаграмата, липсват или ако връзки към външни източниците на данни са повредени. Диаграмата определя групи с една или две оси, набор от оси, срещу които се нанасят данните на диаграмата, и набор от серии, линии на тренд и лента за грешки, посочени в диаграмата. Всяка група от оси определя една до четири групи диаграми, които указват вида на визуализацията, използвана за показване на данните. Всяка серия, линия на тенденция и лента за грешки указва група диаграми, с която е свързана.
Метаданни
Метаданните са допълнителни данни, свързани с конкретна клетка или нейното съдържание. Метаданните се записват в BIFF8 само за целите на бъдещото разширяване.
осеви таблици
PivotTable е механизъм за обобщаване на изходните данни, за да получите преглед на разпределението на тези данни. В обобщена таблица приложимите колони на изходните данни стават полета, които могат да се използват за обобщаване на данни. Когато изходните данни на обобщената таблица са OLAP изходни данни, OLAP йерархиите и някои други OLAP обекти стават полета в обобщената таблица. PivotTable има две основни части, PivotCache и изглед на PivotTable. Може да има множество изгледи на обобщена таблица, базирани на единичен не-OLAP PivotCache.
Стилове
Този преглед описва как се определя информацията за форматиране и защита за клетки в лист (1). Форматирането на клетките се състои от няколко набора от свойства:
- Свойства на шрифта (удебелен, курсив, цвят на шрифта, размер на шрифта и т.н.)
- Свойства на запълване (цвят на преден план, цвят на фона, модел, градиент и т.н.)
- Свойства на подравняване (ляво, централно, дясно подравняване и т.н.)
- Свойства на границата (ляво, дясно, горно, долно, дебело или тънко, цвят и т.н.)
- Свойства за форматиране на числа (дата, час, брой десетични знаци и т.н.)
- Защитни свойства (заключени, скрити и т.н.)
Тези свойства, като цяло, описват как дадена клетка се показва и отпечатва.