Skip to content

Data

Spreadsheet to Parquet converter

Get columnar data entities: columns, inferred types, strings, numbers, dates, booleans, nulls, sheet/table selection, and row counts.

  • Output: Apache Parquet
  • Free: 5 conversions a day · 5 MB each
  • Deleted after 24 h · never used for training

Before you start

What to expect

  • Browser-capable conversions run locally where supported; larger batches may still be queued and retained only for the product retention window.
  • Uploads are not used to train models, and retained files are deleted after 24 hours unless your account policy says otherwise.
  • Review inferred types, row counts, encodings, and edge-case values before using the output in production systems.

What the output contains

  • A Parquet file generated in-browser through our table engine where supported, suitable for DuckDB, BigQuery staging, or data lake tests.
  • Schema inferred from CSV/XLSX values, with typeInference: false available to force strings for IDs and mixed columns.
  • One selected table/sheet converted into columnar form; workbook formulas, charts, comments, and styling are not preserved.
  • Warnings for lossy spreadsheet features and ambiguous types should be reviewed before loading into analytics systems.

A real run

Analytics workbook export

Input
XLSX with 128,000 rows, 23 columns, one sheet of event data, ISO timestamps, nullable campaign IDs, and two formula columns with cached values.
Output
Parquet file with inferred timestamps and numeric metrics; campaign_id was reconverted with typeInference: false after review showed mixed numeric/string IDs.

Known failure modes and how they're handled

Type inference guesses wrong
Set typeInference: false to force strings, or clean the column before converting if warehouse types matter.
Dates and empty strings
Review how blanks, nulls, and dates appear in your target engine; Parquet is typed and ambiguity matters.
Multiple XLSX sheets
Choose the sheet/table deliberately. Parquet output represents data, not the whole workbook container.
Browser memory limits
Large files can exceed browser memory. Split the source or use a server-side data pipeline for very large exports.

Command line

Do it yourself

pandas

bash
python -c 'import pandas as pd; pd.read_excel("events.xlsx", dtype=str).to_parquet("events.parquet", index=False)'

Install a Parquet engine such as pyarrow; set dtypes explicitly for production schemas.

Questions about this workflow

How do I force every column to string?

Use typeInference: false. This is safest for IDs, ZIP codes, and mixed vendor exports.

Are Excel formulas preserved?

No. Parquet stores typed values, not workbook formulas, charts, comments, or styles.

Can DuckDB read the output?

Yes, DuckDB can read standard Parquet. Validate schema and row counts before production loads.

Which sheet is used from a multi-tab workbook?

The first sheet unless you pass a sheet name. Title rows above the header break type inference, so point headerRowIndex at the real header before writing Parquet.