Converting Multi-Gigabyte Parquet Files to Excel Without Leaking Data or Crashing RAM
How to query and transform columnar Apache Parquet datasets into Excel spreadsheets locally in the browser using WebAssembly and DuckDB WASM.
ConvertSheet Architecture Team
WASM & Data Systems
1. The Parquet-to-Excel Dilemma
Apache Parquet has become the de facto columnar storage standard for modern data lakes (Databricks, Snowflake, AWS Athena, BigQuery). However, when business executives, financial auditors, or marketing leads ask for data, they inevitably demand an Excel (.xlsx) spreadsheet.
Translating columnar binary dictionary-encoded pages into row-based OpenXML sheets often leads to system crashes or sensitive data exposure.
2. Why Traditional Cloud Converters Fail
Standard file converter websites fail on two fronts:
- Upload Latency & Payload Caps: Parquet files frequently exceed 50MB to 500MB. Cloud upload bottlenecks make round-trips painfully slow or cause gateway timeouts.
- Data Leakage: Analytical Parquet dumps often contain raw customer transaction records, email addresses, or proprietary unit economics. Uploading them to random public servers breaches internal compliance policies.
3. Inside DuckDB WASM Vectorized Execution
ConvertSheet leverages DuckDB WebAssembly. Instead of transmitting files over HTTP, your browser spins up an embedded C++ vectorized SQL query engine directly inside a dedicated Web Worker thread.
// In-browser vectorized Parquet projection
await db.registerFileBuffer('dataset.parquet', fileBuffer);
const conn = await db.connect();
const arrowResult = await conn.query(`
SELECT order_id, customer_id, total_amount, created_at
FROM 'dataset.parquet'
LIMIT 100000
`);
4. Memory Management & Row Group Streaming
Because browsers impose strict per-tab memory limits (typically 2GB to 4GB), ConvertSheet utilizes row group projection and columnar chunking. We stream batches through SheetJS directly into zip archives, avoiding giant in-memory object allocation trees.
5. Security & Zero-Cloud Compliance Guarantees
With ConvertSheet, you can disconnect your Wi-Fi or enable airplane mode and the conversion runs identically. Open your browser dev tools network tab: not a single network request is fired. Your enterprise datasets remain 100% private.