XLSX to CSV — flattening a workbook, then counting what the text file loses
A CSV file is one rectangle of text. A workbook is a container with several sheets, typed cells, formatting and formulas. Converting one into the other is not a re-wrap: the container is emptied and only the stored values are poured out. The option that decides most of the result is sheet mode, because it changes the shape of the output before any cell is read.
Cell formatting, colours, column widths and merged ranges are dropped; only stored values survive.
Processed on your device. Files aren’t sent anywhere.
First sheet or all sheets
With First sheet selected, the converter reads the sheet that appears first in the file and writes one rectangle of rows. Everything on the other sheets is never opened, so a summary sheet, a lookup sheet or a notes sheet simply does not appear in the output.
With All sheets, each sheet is written one after another into the same file. A delimited file has no way to say where one sheet ends and the next begins, so the rows just continue. If your importer expects a single header row, three sheets become three header rows mixed into the data.
- First sheet is the right choice when the importer expects one table.
- All sheets is the right choice when you want everything out of the file and will clean the boundaries yourself.
- A workbook with one sheet gives the same result either way.
What CSV cannot hold
The workbook has features a delimited file has no vocabulary for. Rather than guess at them, the converter drops them and says so on the page.
The table below is the honest inventory for this route.
| In the workbook | In the CSV | Notes |
|---|---|---|
| Cell value | Text | Numbers and text both leave as characters |
| Date cell | The text shown on screen | No date type travels |
| Formula | The cached value | The formula itself is not run |
| Formatting, colours, widths | Nothing | There is no place to put them |
| Second and later sheets | Rows only if All sheets is chosen | No sheet boundary is written |
Dates leave as text, not as dates
A spreadsheet stores a date as a number and displays it through a format. The converter keeps the displayed text instead of turning the number into a calendar value, so a cell that reads 12 Mar 2024 on screen arrives as 12 Mar 2024 in the file.
That is deliberate. Guessing a calendar value would mean deciding which base date the workbook used, and a wrong guess silently shifts every date by a day or more.
Formulas are read, never run
A workbook stores both the formula and the last value Excel computed for it. This converter copies the stored value and discards the formula text. It does not recalculate anything.
The consequence is worth knowing: if the workbook was saved with a stale cache, the stale number is what you get. A total that no longer matches its rows exports as a total that no longer matches its rows.
A conversion that recalculated formulas would be a spreadsheet. This one is a reader.
Why the engine never evaluates cell expressions
Reading the file back before you import it
Before feeding the CSV to anything, open it and check three things: row count, column count per row, and whether the values that should be numbers look like numbers.
- Convert the workbook and download the CSV.
- Open the file in a text editor, not in a spreadsheet program, so nothing is retyped.
- Count the rows and compare them with the sheet.
- Check the first and last rows, which is where truncation shows up.
- Import only after the counts match.