Skip to converter

ODS to CSV — what OpenDocument holds that CSV has no word for

A mailing tool that only accepts CSV is usually fed by a spreadsheet kept in LibreOffice. The two formats are not two spellings of one thing: OpenDocument is a compressed container with styles, several sheets and formula history, and CSV is a flat text table. Extraction is therefore a subtraction.

Cell formatting, colours, column widths and merged ranges are dropped; only stored values survive.

Drop files here or ODS, up to 12 MB
    Add a file to start.

    Processed on your device. Files aren’t sent anywhere.

    No sign-up. Nothing to install.

    What ODS holds that CSV has no word for

    The container keeps more than cells. Each of these has no counterpart in a delimited file, so it is dropped rather than approximated.

    OpenDocument featureIn the CSVWhy
    Cell styles and fontsNothinga text file has no presentation
    Conditional formattingNothingthere is no rule language in CSV
    Multiple sheetsRows only with All sheetsno sheet boundary exists
    FormulaThe cached valuethe engine never evaluates expressions
    Date cellThe displayed textCSV has no date type

    Choosing which sheets become rows

    First sheet writes only the sheet that appears first in the file. All sheets appends every sheet into the same file, one after another, with nothing marking the boundary.

    • First sheet suits an importer that expects exactly one header row.
    • All sheets suits extraction, but you clean the boundaries afterwards.
    • A one-sheet document gives the same output either way.

    Formulas in an OpenDocument file

    OpenDocument stores the formula and the value last computed. This converter reads the stored value and discards the formula text. It does not recalculate, and it does not follow anything outside the file.

    A conversion that recalculated formulas would be a spreadsheet. This one is a reader.

    Why the engine never evaluates cell expressions

    Dates and cell types in the text output

    A date cell leaves as the text shown on screen. Numbers leave as characters too, because cells are read as the formatted text of the sheet rather than as their internal type. An empty cell leaves as an empty field, so columns stay aligned inside a row, while trailing blanks are trimmed from the end of each row.

    A date that looks obvious to its author may be ambiguous to the receiving application. The text 03/04 is a good reason to inspect a known record rather than guess the locale. CSV has no date-type declaration. Keep the original OpenDocument workbook for reference and configure the receiving importer deliberately; changing the filename cannot settle a day/month interpretation.

    Checking the extracted file

    Check the file in a text editor before the mailing tool reads it.

    1. Convert the .ods file and download the CSV.
    2. Open it in a text editor so nothing is retyped.
    3. Count the rows and compare them with the sheet.
    4. Look for a second header row if you chose All sheets.
    5. Import only after the counts match.

    Questions

    Does the second sheet appear?
    Only with All sheets. With First sheet the other sheets are never opened, so notes or lookup data do not reach the importer.
    Are LibreOffice formulas recalculated?
    No. The value stored in the file is copied and the formula text is dropped. A stale cache exports as a stale value.
    Why does the CSV start with an invisible character?
    The output is UTF-8 with a byte order mark so spreadsheet software reads accented characters correctly. A plain editor may show it as a stray character.
    How large a document can I convert?
    One file up to 12 MiB, and at most 20,000 rows are written. Beyond that the file is refused or the excess rows are left out rather than silently mixed into the import.

    Share this converter

    More sharing options