Skip to content

Excel XLS to CSV converter

XLS to CSV runs through our table engine, so one legacy Excel sheet is flattened into delimited text from parsed workbook values.

  • Converted with Table engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Selected sheet Changed

    CSV can represent one table, so our table engine serializes the first parsed sheet unless a sheet is selected in the engine call.

  • Rows Kept

    The rich Pipeline sheet exported all tested company rows and the Total row in visible row order.

  • Formulas Lost

    The SUM total appeared as 254500 in CSV, with no way to carry the original formula expression.

  • Dates Changed

    Date cells became ISO timestamps such as 2026-09-30T00:00:00.000Z in the rich XLS CSV output.

  • Merged cells Changed

    The merged Q3 Pipeline row became Q3 Pipeline,column_2,column_3,column_4,column_5.

  • Styles and layout Lost

    Fonts, fills, borders, column widths, frozen panes, charts, and comments have no CSV representation.

  • Second sheet Lost

    The Notes tab was not included in the CSV output from the default API run because the first table was serialized.

Sample conversions

Pipeline sheet with title row

Input
XLS with merged Q3 Pipeline title, company/stage/arr/owner/close_date headers, four deals, and SUM total.
Output
CSV started with Q3 Pipeline plus generated column names, then the header row, four company rows, and Total,,254500,,.

Fixture workbook

Input
Two-sheet XLS fixture with Pipeline and Notes tabs.
Output
CSV contained only company,stage,arr,owner,close_date rows from Pipeline. The Notes sheet did not appear.

A real Excel XLS → CSV run

We converted our Excel XLS sample (5 KB) with Table engine on 2026-09-11. It took 2 ms and produced a 225 B CSV file, 95% smaller than the input. The engine raised 2 warnings, listed below.

Input · sample.xls · 5 KB

OLE2 compound document (legacy Office binary)

Output · sample.csv · 225 B

4 data rows × 5 columns; header: company,stage,arr,owner,close_date

Rows
4
Columns
5
Header
company,stage,arr,owner,close_date
  • Workbook contains multiple sheets; each sheet was exposed as its own IR table.
  • Only the first table was written to this single-table format.

First lines of the output

csv
company,stage,arr,owner,close_date
Northwind Traders,Proposal,48000,R. Ayers,2026-10-14
Contoso Ltd,Negotiation,120000,P. Ng,2026-09-30
Fabrikam,Qualified,22500,R. Ayers,2026-11-02
Tailspin Toys,Won,64000,M. Okafor,2026-09-03

Options and when to change them

sheet
Select a sheet when the workbook has instructions or lookup tabs before the data you want.
headerRowIndex
Set the real header row when a merged report title sits above the field names.
dateHandling
Choose string output when imported dates must match what users saw in Excel.
delimiter
Change the output delimiter when the receiving system expects semicolon or tab-delimited text.

Do it yourself

python with pandas

bash
python - <<'PY'
import pandas as pd
pd.read_excel("in.xls", sheet_name="Pipeline").to_csv("out.csv", index=False)
PY

Pass dtype for identifiers and inspect merged title rows before using the CSV for imports.

Excel XLS to CSV by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Table engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=xls&to=csv.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.xls" -F "from=xls" -F "to=csv" \
  -F 'options={"sheet":""}' \
  --output output.csv

Options this engine accepts for Excel XLS → CSV

KeyApplies toTypeDefault
sheetReading Excel XLSstring
headerRowIndexReading Excel XLSnumber0
dateHandlingReading Excel XLSdate · stringdate
delimiterWriting CSVstring,
newlineWriting CSV ·
API reference

When this is the wrong conversion

  • Do not use CSV if the recipient needs more than one sheet, formulas, charts, filters, or cell formatting.
  • Use /convert/xls-to-xlsx when the target system accepts modern Excel workbooks and multiple sheets matter.

Excel XLS to CSV questions

Which sheet does XLS to CSV export?

CSV holds one table, so the first sheet is written and a warning says the others were skipped. Pass a sheet name to export a different one; a name that does not exist falls back to the first sheet and the warning lists the names it found.

Can CSV keep Excel formulas?

No. The formula's cached result is written as text or a number, and the formula itself is discarded.

Why did dates become timestamp strings?

Our table engine normalizes workbook date cells during parsing. That makes machine import predictable but can differ from the displayed Excel format.