ZIP code safeguard
- Input
- CSV: customer,zip,total\nNina Patel,02134,"1,234.50"
- Output
- With type inference on, total becomes a number and zip may become 2134. With typeInference off, 02134 stays text for mailing lists.
CSV to XLSX runs through our table engine, creating one Excel sheet with a filterable header row, fitted column widths and no formulas.
From real runs
| Element | Result | What happens |
|---|---|---|
| Rows and columns | Kept | Parsed CSV cells become worksheet cells in the same order after delimiter detection or your delimiter override. |
| Numeric strings | Changed | Numeric-looking strings become Excel numbers when type inference is on, which can strip ZIP-code leading zeros. |
| Dates | Changed | ISO dates and common US dates are recognized as date values where possible; ambiguous regional dates should be stored as text. |
| Sheet name | Changed | The sheetName option names the single output worksheet after Excel-invalid characters are cleaned. |
| Header presentation | Changed | The first row gets an AutoFilter and columns are widened to fit their longest value (capped at 60 characters); the header is not bolded or frozen, as the writer cannot style cells. |
| Formulas | Lost | No formulas are created from CSV text, even if a cell starts with an equals sign; generated workbooks contain values only. |
| CSV encoding markers | Changed | A UTF-8 BOM is used only for input decoding and is not retained as visible worksheet text. |
Parsed CSV cells become worksheet cells in the same order after delimiter detection or your delimiter override.
Numeric-looking strings become Excel numbers when type inference is on, which can strip ZIP-code leading zeros.
ISO dates and common US dates are recognized as date values where possible; ambiguous regional dates should be stored as text.
The sheetName option names the single output worksheet after Excel-invalid characters are cleaned.
The first row gets an AutoFilter and columns are widened to fit their longest value (capped at 60 characters); the header is not bolded or frozen, as the writer cannot style cells.
No formulas are created from CSV text, even if a cell starts with an equals sign; generated workbooks contain values only.
A UTF-8 BOM is used only for input decoding and is not retained as visible worksheet text.
We converted our CSV sample (226 B) with Table engine on 2026-10-20. It took 6 ms and produced a 17 KB Excel XLSX file, 76× larger than the input. The engine raised no warnings.
Input · sample.csv · 226 B
4 data rows × 5 columns; header: company,stage,arr,owner,close_date
Output · sample.xlsx · 17 KB
Workbook with 1 sheet (Sheet1); first sheet 5 rows, 25 cells, 0 formulas, header filter, fitted column widths
pandas
python - <<'PY'
import pandas as pd
with pd.ExcelWriter("out.xlsx", engine="openpyxl") as writer:
pd.read_csv("in.csv", dtype={"zip": "string"}).to_excel(writer, index=False, sheet_name="Orders")
PYAdd bold headers or freeze panes with openpyxl after writing; our output sets a filter and column widths only.
csvkit plus in2csv
in2csv in.csv > normalized.csvcsvkit is useful for normalizing CSV, but creating styled XLSX requires Python or spreadsheet tooling.
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=csv&to=xlsx.
curl -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.csv" -F "from=csv" -F "to=xlsx" \
-F 'options={"delimiter":","}' \
--output output.xlsx| Key | Applies to | Type | Default |
|---|---|---|---|
| delimiter | Reading CSV | string | , |
| header | Reading CSV | boolean | true |
| quote | Reading CSV | string | " |
| encoding | Reading CSV | utf-8 · latin1 | utf-8 |
| sheetName | Writing Excel XLSX | string |
Only when they are treated as text. Turn typeInference off for ZIP codes such as 02134 so Excel does not display 2134.
No. The XLSX contains values only. Text beginning with equals is not converted into a live formula.
Yes. Use sheetName to set one worksheet name. The browser converter creates a single-sheet workbook.