Skip to content

**ODS export — closing the loop on ODS round-trips** #1799

@GitHubNewbie0

Description

@GitHubNewbie0

ODS export — closing the loop on ODS round-trips

Jspreadsheet CE can import ODS files via tabularjs, but there's currently no way to export back to ODS. Users who open an ODS file, edit it, and want to save it back to ODS are stuck — the only export option is CSV.

ODS export is now possible with odf-kit (Apache 2.0, zero dependencies beyond fflate for ZIP):

import { OdsDocument } from 'odf-kit'

const data = jspreadsheet.getData() // array of arrays

const doc = new OdsDocument()
const sheet = doc.addSheet('Sheet1')
for (const row of data) {
  sheet.addRow(row)
}
const bytes = await doc.save()

The output is a spec-compliant .ods file that passes the OASIS ODF validator and opens correctly in LibreOffice, Excel, and Google Sheets.

odf-kit also supports number formats, merged cells, freeze rows/columns, hyperlinks, and sheet tab colors — so the integration can be as rich as needed.

Happy to help with a proof-of-concept or integration if there's interest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions