Both conversions start with the same PDF and the same extraction work. The choice is only about what the last step writes to disk — and it matters much more than it sounds, because one of the two formats stores what a column means and the other does not.

Short answer: CSV when another system is going to read the file, Excel when a person is. Everything below is why, and the handful of cases where that rule is not enough.

The one difference everything else follows from

An .xlsx file is a small database. It records, per cell, a value and a type, plus number formats, several sheets, formulas, column widths, frozen panes and cell comments.

A .csv file is a text file containing your values with commas between them. It records no type, no format, no second sheet, no formula and no note. A spreadsheet program shows you a grid when you open one, and it is easy to forget that the grid is the program's interpretation rather than anything in the file.

So a CSV cannot say "this column is text". Every reader of the file guesses, and the guesses differ by program, by version and by the machine's locale.

What CSV loses, concretely

Four failures, and between them they cause nearly every "the data was fine until I opened it" complaint.

Leading zeros. A reference like 00123 is five characters in the file. The reader guesses numeric and displays 123. Your reference no longer matches anything, and nothing warned you.

Dates. 04/08/2026 is the fourth of August in most of the world and the eighth of April in the United States. The file does not say which; the machine's locale decides. A batch can come out with some dates swapped and others — the ones past the 12th — correctly read, which is the worst possible version of this bug because the column looks mostly right.

Long numbers. A 16-digit account or tracking number becomes 1.23457E+15, and the last digits are gone rather than hidden.

Values that look like something else. 1-2 becomes a date. NA, TRUE and NULL become non-text. A product code like SEP5 has been known to become a date in some importers.

On top of that, CSV has the separator problem: in locales where the comma is the decimal mark, CSV files are commonly semicolon-separated, so the same file opens as a neat grid on one colleague's machine and as one long column on another's.

What Excel loses

Much less, but it is not nothing.

Universality. Every system on earth reads CSV. A fair number of older or lightweight importers do not accept XLSX, and some that claim to accept only the older .xls.

Simplicity in a pipeline. A CSV can be produced and consumed by a script in one line. XLSX needs a library.

Diff-ability. A CSV in version control shows a readable line-by-line difference. An XLSX is a zip archive of XML and shows as a binary blob.

Size, at scale. XLSX compresses well and is usually smaller than the equivalent CSV, but it is slower to write and read for very large volumes.

Sheet limits. A worksheet holds a bit over a million rows. CSV has no limit of its own, though whatever opens it will.

Side by side

What each format can carry
PropertyCSVExcel (.xlsx)
Column typesNone — every reader guessesStored per cell
Leading zeros preservedOnly if imported deliberatelyYes
Date meaning unambiguousNo — locale decidesYes
Multiple sheetsNoYes
FormulasNoYes
Accepted by almost any systemYesUsually
Readable in a text editorYesNo
Useful in version controlYesNo

Choosing, in one pass

Choose CSV when the file is going straight into another system that asks for it; when a script is going to read it; when the destination does not accept XLSX; or when the values are plain — no leading zeros, no dates, no currency, no long codes.

Choose Excel when a person is going to read, filter, total or keep the file; when any column holds a reference with leading zeros, a non-US date, or currency; when you want the checking formulas to live in the file; or when the output needs more than one table.

For document extraction specifically, Excel wins most of the time, because the columns that come out of business documents are precisely the awkward ones. Invoice numbers have leading zeros. Dates are rarely American. Amounts come with currencies. That is why the workflow in converting multiple PDFs into one spreadsheet produces a workbook rather than a CSV.

If you must use CSV, do these four things

  1. Import, do not open. In Excel, Data → From Text/CSV; set each reference or code column to Text in the preview. In Google Sheets, File → Import with "Convert text to numbers, dates and formulas" turned off. Double-clicking is what destroys the data, and it does so silently.
  2. Write dates as YYYY-MM-DD. It is unambiguous in every locale and it sorts correctly as text, which means it survives even when the column is read as text.
  3. Keep currency and units in their own columns. 1240.00 plus a GBP column imports cleanly everywhere; £1,240.00 does not.
  4. Use UTF-8, and say so. If supplier names arrive as é where é belongs, the encoding was guessed, not the file.

Consider tab-separated as well. Tabs appear in business data far less often than commas, so there is less quoting and less to go wrong. Name the file .tsv.

How to convert PDF to CSV covers the extraction side of that route in full.

A middle path worth knowing

You do not have to choose once and live with it. Extract to Excel, keep that workbook as the record, and export a CSV for whatever system needs one.

That way the typed, formatted, formula-checked version is the thing you keep, and the CSV is a disposable artefact regenerated whenever the destination asks for it. It also means the awkward columns are correct in the place where anyone will look at them, and only ever flattened on the way out.

Common questions

Is CSV or Excel better for importing into accounting software? Whichever the software documents. If it accepts both, XLSX, because reference numbers and dates are exactly what the import will mangle in CSV form.

Why did my CSV lose the leading zeros? The file was opened rather than imported, so the column was guessed numeric. The data in the file was never wrong — re-import and set that column to Text.

Why is my CSV one long column? The separator does not match what the reader expected, usually a semicolon-separated file in a comma-expecting reader. Set it explicitly on import.

Can a CSV hold more than one table? No. One file, one table. Several tables means several files, which is one of the clearer reasons to use a workbook.

Does it matter for a scanned document? Not to this choice, no — but a scan has to have its characters recognised before either format is reachable. See converting scanned PDFs to Excel.

What about Google Sheets? It reads and writes both. The import option above is the one to use for CSV, and its defaults are the ones that damage reference columns.

Is ODS an option? Yes, and it has the same typed-cell advantages as XLSX. Fewer systems accept it, so it is worth it only if your own tooling prefers it.

The rule worth remembering

CSV for machines, Excel for people — and if you are not sure which, ask whether any column contains a leading zero, a date or a currency. If it does, that is your answer, and the free tools page has the browser-side utilities for the PDF half of the job.