XLS File Format - ByteScout

XLS File Format

XLS is a file extension used for spreadsheets created using Microsoft’s Excel application. XLS was the extension which was used for Microsoft Excel files created before MS Excel 2007 was released.  MS Excel 2007 introduced new file extension known as XSLS. This new file format utilized xml file formatting.
Data storage technique in XLS is based on traditional BIFF (Binary Interchange File Format). In BIFF, data is first converted into the binary format and then it is directly stored in file with extension .xls without any further processing. This is a very straight forward storage mechanism which does not involve any complex algorithm. This is due its simplicity, it lacked sophisticated features and was eventually replaced by more advanced and robust XLSX format in 2007.
In XLS file format data is organized into a series of binary streams and sub streams. Each individual work sheet in spread sheet is composed of one binary sub stream where as a spreadsheet consist of individual stream.
At the higher level, spread sheet contains tables where data is divided into several records, where each record contains several fields. A field is a type off attribute, for instance Age, Gender, Salary of a person. Each field contains data type, for example age can be integer. Record type is specified by a 2 byte unsigned integer that is appended at the beginning of every Record and is known as RT.
Individual data is stored in Cell which is actually container for the data. All the data is actually stored in a worksheet cell, with the exception of strings that are stored in a separate table where as actual data cell contains pointers or references to these strings.  
Although the first Microsoft version of XLS files was release in 1987 and was named version 2.0, complex and advanced features were added in version 7.0, released in 1995 with office 95. In 1990, 1992 and 1993, version 3.0, 4.0 and 5.0 were released respectively.
  • Version 7.0 (released with office 95)
This version of excel was the most robust and faster among all the versions and internal stream rewrites were updated to 32 bits.
  • Version 8 (released with office 97)
VBA was introduced as a standard language and removed natural language labels were incorporated in this version for the first time. It also introduced paper clip office assistant for the first time.
  • Version 9 (Released with office 2000)
There were only minor changes in Version 9 where paper clip office assistant could simultaneously hold multiple objects that were not previously possible.
  • Version 10 (Released with office XP)
This version did not contain any noticeable improvement.
  • Version 11 (Released with office 2003)
Major update in the version 11, excel 2003 was the introduction of new tables.
From Office 2007 and onwards, XLS format was replaced by new XLSX format which is considered more secure, robust and portable.
XLS was designed to be used on older computers. It lacked compatibility and portability with most of the non-Microsoft systems. It had many dependencies on external libraries and therefore it was not easy to run XLS files on systems where these libraries were not installed. XLS was rightly updated to XLSX in office 2007 and onwards.