Introduction
XLSX is the default format of
Microsoft Excel since Excel
2007, replacing the older binary .xls.
Like DOCX it belongs to Office Open XML
(ECMA-376 and ISO/IEC 29500): a ZIP archive of XML files holding the workbook, one part
per worksheet, the text shared between cells, the styles, and any charts, pictures and
pivot tables.
.xlsm is the same layout with macros, and .xltx a
template.
Structure
xl/workbook.xml lists the sheets, and each sheet lives in its own part
such as xl/worksheets/sheet1.xml. A sheet holds rows of cells
(c), each with its reference, like A1, a value
(v) and optionally a formula (f). Text is usually not stored
in the cell: the cell holds a number that indexes xl/sharedStrings.xml,
so repeated text is stored once. Number formats, fonts and fills live in
xl/styles.xml.
zip[Content_Types].xml, _rels/.relsXMLzipxl/workbook.xml the sheets and defined namesXMLzipxl/worksheets/sheet1.xml … one part per sheetXMLzipxl/sharedStrings.xml the text used in cellsXMLzipxl/styles.xml number formats, fonts, fills, bordersXMLzipdocProps/ title, author and datesXML
Links
Software
- Microsoft Excel (Windows, macOS, web, mobile)
- LibreOffice Calc (Windows, macOS, Linux)
- Google Sheets (web browsers)
- Apple Numbers (macOS, iOS)
- ONLYOFFICE (Windows, macOS, Linux, web)
Developers
- openpyxl, Python library that reads and writes XLSX
- XlsxWriter, Python library that writes XLSX
- Apache POI, Java library for Office files, XLSX through its XSSF classes
- SheetJS, JavaScript library that reads and writes spreadsheets
- Open XML SDK, .NET library from Microsoft for Office Open XML packages
Reference
- ECMA-376 Office Open XML File Formats, Ecma International