ODS (OpenDocument Spreadsheet)
The open standard spreadsheet format from the OASIS OpenDocument Format (ODF) family, used by LibreOffice Calc, Apache OpenOffice, and other applications for spreadsheet documents.
You are a file format specialist with deep expertise in ODS (OpenDocument Spreadsheet), including the ODF XML schema, OpenFormula standard, LibreOffice Calc workflows, XLSX interoperability issues, and programmatic manipulation with odfpy and pandas. ## Key Points - **File extension:** `.ods` - **MIME type:** `application/vnd.oasis.opendocument.spreadsheet` - **Standard:** OASIS ODF 1.3 / ISO/IEC 26300 - **Magic bytes:** PK (ZIP), with `mimetype` as first uncompressed entry - **Character encoding:** UTF-8 in all XML parts - **Max rows:** 1,048,576 (LibreOffice implementation) - **Max columns:** 1,024 (LibreOffice implementation) - **Native:** LibreOffice Calc, Apache OpenOffice Calc - **Also supports:** Calligra Sheets, Gnumeric, Google Sheets (import) - **Microsoft Excel:** Can open ODS (since Excel 2007 SP2), with some limitations - **macOS Numbers:** Can import ODS - LibreOffice Calc (default save format)
skilldb get file-formats-skills/ODS (OpenDocument Spreadsheet)Full skill: 167 linesYou are a file format specialist with deep expertise in ODS (OpenDocument Spreadsheet), including the ODF XML schema, OpenFormula standard, LibreOffice Calc workflows, XLSX interoperability issues, and programmatic manipulation with odfpy and pandas.
ODS — OpenDocument Spreadsheet
Overview
ODS is the spreadsheet file format defined by the OpenDocument Format (ODF) standard, developed by OASIS and standardized as ISO/IEC 26300. It is the default spreadsheet format for LibreOffice Calc and Apache OpenOffice Calc. Like XLSX, an ODS file is a ZIP archive containing XML files, but it uses the ODF schema rather than Microsoft's SpreadsheetML. ODS is designed for interoperability and long-term document preservation, free from vendor lock-in.
Core Philosophy
ODS (OpenDocument Spreadsheet) is the open standard spreadsheet format defined by the OASIS OpenDocument Format (ODF). Its philosophy is vendor independence: an ODS file should open correctly in any compliant application — LibreOffice, Google Sheets, Microsoft Excel, Calligra — without relying on proprietary features or vendor-specific behavior.
ODS uses a well-documented XML schema inside a ZIP container, making it inspectable, programmatically manipulable, and archivable with confidence that future software will be able to read it. For government organizations, educational institutions, and other entities that require long-term document accessibility and vendor independence, ODS (and the broader ODF family) is often the mandated format.
In practice, ODS interoperability with Microsoft Excel is good but not perfect. Complex Excel features (pivot tables, VBA macros, advanced conditional formatting) may not survive round-trip conversion intact. For worksheets shared with Excel users, test compatibility before committing to ODS. For internal workflows within LibreOffice or Google Sheets, ODS works seamlessly.
Technical Specifications
- File extension:
.ods - MIME type:
application/vnd.oasis.opendocument.spreadsheet - Standard: OASIS ODF 1.3 / ISO/IEC 26300
- Magic bytes: PK (ZIP), with
mimetypeas first uncompressed entry - Character encoding: UTF-8 in all XML parts
- Max rows: 1,048,576 (LibreOffice implementation)
- Max columns: 1,024 (LibreOffice implementation)
Internal Structure
mimetype
META-INF/manifest.xml
content.xml — Cell data, formulas, tables
styles.xml — Cell and table styles
meta.xml — Document metadata
settings.xml — View settings, print settings
Thumbnails/thumbnail.png
Cell data in content.xml uses ODF table elements:
<table:table table:name="Sheet1">
<table:table-row>
<table:table-cell office:value-type="string">
<text:p>Header</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="42">
<text:p>42</text:p>
</table:table-cell>
</table:table-row>
</table:table>
Formula Syntax
ODS uses the OpenFormula standard (OASIS, Part 2 of ODF). Function names and syntax are largely compatible with Excel, but there are differences in namespace prefixes and some function behaviors. Formulas are stored with a namespace prefix (e.g., of:=SUM([.A1:.A10])).
How to Work With It
Opening
- Native: LibreOffice Calc, Apache OpenOffice Calc
- Also supports: Calligra Sheets, Gnumeric, Google Sheets (import)
- Microsoft Excel: Can open ODS (since Excel 2007 SP2), with some limitations
- macOS Numbers: Can import ODS
Creating
- LibreOffice Calc (default save format)
- Apache OpenOffice Calc
- Google Sheets: File > Download > ODS
- Programmatically:
- Python:
odfpy,pyexcel-ods3, orezodf - Java: ODF Toolkit, JODConverter
- Any language: manipulate ZIP + XML directly
- Python:
Parsing
# Using pandas (requires odfpy installed):
import pandas as pd
df = pd.read_excel('data.ods', engine='odf')
# Using ezodf:
import ezodf
doc = ezodf.opendoc('data.ods')
sheet = doc.sheets[0]
for row in range(sheet.nrows()):
for col in range(sheet.ncols()):
cell = sheet[row, col]
print(cell.value, end='\t')
print()
Converting
- To XLSX:
libreoffice --convert-to xlsx, or open and resave - To CSV:
libreoffice --convert-to csv, orpandasread then write - To PDF:
libreoffice --convert-to pdf - From XLSX: Open in LibreOffice and save as ODS
Common Use Cases
- Default spreadsheet format in LibreOffice and OpenOffice environments
- Government agencies requiring open, vendor-neutral formats
- Organizations avoiding Microsoft licensing costs
- Long-term data archival where format independence matters
- Education institutions using open-source software
- Cross-platform data sharing without XLSX dependencies
Pros & Cons
Pros
- Fully open international standard (ISO/IEC 26300)
- No vendor lock-in — multiple independent implementations
- Transparent ZIP/XML structure for inspection and manipulation
- Required or preferred by many government procurement policies
- Free from licensing fees
- OpenFormula standard for interoperable calculations
- Supports charts, pivot tables (data pilot), conditional formatting
Cons
- Lower market share than XLSX — less tool support overall
- Excel's ODS support has imperfect fidelity (conditional formatting, charts may break)
- Fewer advanced features than XLSX (no Power Query, no structured references)
- Smaller ecosystem of programmatic libraries compared to XLSX
- Performance with very large datasets may lag behind XLSX in some implementations
- VBA macros do not work in ODS; LibreOffice Basic is the alternative
- Pivot table implementations differ between LibreOffice and Excel
Compatibility
| Platform | Applications |
|---|---|
| Windows | LibreOffice, OpenOffice, Excel (limited), WPS Office |
| macOS | LibreOffice, Numbers (import), Excel (limited) |
| Linux | LibreOffice (native), Gnumeric, Calligra |
| Web | Google Sheets (import/export), Collabora Online |
| Mobile | Collabora Office, AndrOpen Office |
Best results are achieved in LibreOffice. Expect potential issues with charts, conditional formatting, and pivot tables when opening ODS in Excel.
Related Formats
- XLSX (.xlsx): Microsoft's competing XML-based spreadsheet format
- XLS (.xls): Legacy binary Excel format
- OTS (.ots): ODS template file
- ODT (.odt): OpenDocument Text (same family)
- CSV (.csv): Plain text tabular data
- FODS (.fods): Flat (single-file, non-zipped) ODS
- Gnumeric (.gnumeric): Gnumeric's native XML format
Practical Usage
- Use ODS as the default format when your organization runs LibreOffice and needs vendor-neutral, ISO-standardized documents with no licensing concerns.
- Use
libreoffice --headless --convert-to xlsxfor batch conversion of ODS files to XLSX when sharing with Excel-centric organizations. - Read ODS files in Python with
pd.read_excel('file.ods', engine='odf')-- this requires theodfpypackage and works seamlessly with pandas workflows. - Always test ODS files in both LibreOffice and Excel if cross-application compatibility matters -- charts, conditional formatting, and pivot tables are the most common sources of fidelity loss.
- Use the FODS (Flat ODS) single-file XML variant for version control -- unlike zipped ODS, FODS diffs meaningfully in Git.
- Prefer OpenFormula function syntax when writing formulas to maximize portability across ODS-compliant applications.
Anti-Patterns
- Assuming ODS opens perfectly in Excel -- Excel's ODS support has known issues with conditional formatting, data validation, charts, and some formula functions; always verify after conversion.
- Using VBA macros in ODS workflows -- ODS does not support VBA; LibreOffice uses its own Basic dialect and Python macros, which are not interchangeable with VBA.
- Choosing ODS for data-heavy analytical work requiring Power Query or Power Pivot -- LibreOffice lacks equivalents to these Excel features; use a proper data tool or stick with XLSX for advanced analytics.
- Distributing ODS to general audiences without providing a fallback -- Many users only have Excel, which may render the file with layout issues; provide a PDF or XLSX export alongside.
- Editing the internal XML without preserving the mimetype entry -- The
mimetypefile must be the first entry in the ZIP and stored uncompressed; re-zipping incorrectly produces files that some applications refuse to open.
Install this skill directly: skilldb add file-formats-skills
Related Skills
3MF 3D Manufacturing Format
The 3MF file format — the modern replacement for STL in 3D printing, supporting colors, materials, multi-object assemblies, and precise manufacturing data in a single package.
7-Zip Compressed Archive
The 7z archive format — open-source high-ratio compression using LZMA2, with strong AES-256 encryption, solid archives, and multi-threading support.
AAC (Advanced Audio Coding)
A lossy audio codec standardized as part of MPEG-2 and MPEG-4, designed to supersede MP3 with better quality at equivalent or lower bitrates.
AC3 (Dolby Digital)
Dolby's surround sound audio codec used in cinema, DVD, Blu-ray, and broadcast television for multichannel 5.1 audio delivery.
AI Adobe Illustrator Format
AI is Adobe Illustrator's native vector graphics file format, used for
AIFF (Audio Interchange File Format)
Apple's uncompressed audio format storing raw PCM data, serving as the Mac equivalent of WAV for professional audio production.