ψ · EXCEL → POSTGRES

Load Excel data into Postgres, on Mac.

Getting Excel data into Postgres on Mac usually means saving as CSV, dropping into a temp directory, writing a COPY statement, and hoping the types are right. QueryFlow's pipeline handles the entire workflow with AI field mapping.

Start 14-day free trial Download on theMac App Store

macOS 15+ · Apple Silicon native · 14-day free trial · No credit card

Quick answer: QueryFlow loads Excel data into PostgreSQL on macOS through Visual ETL pipelines. Save your Excel file as CSV (xlsx native support on roadmap), configure a CSV source pointing at the file, configure a Postgres destination with the target table, map fields with AI Map for automatic matching. Type inference handles most cases automatically. $299.99/year.

The Excel-to-Postgres pain on Mac

Standard workflow: save Excel as CSV, then either psql with \copy command, pgAdmin's import wizard (clunky), Python with pandas (requires code), or DBeaver's import (Java-based, works but heavy). For occasional imports it's fine. For repeated workflows (vendor delivers weekly Excel file that needs loading), the friction becomes meaningful.

QueryFlow's pipeline approach

Visual ETL pipeline: CSV source pointing at the file (saved-from-Excel), Postgres destination with target table specified. Click the connecting line to open Field Mapper. Click AI Map to auto-detect column matches (handles standard cases). Run. Behind the scenes QueryFlow uses Postgres COPY for efficient bulk loading with proper type handling.

Type inference and Excel edge cases

Excel data has predictable type issues when going to Postgres: dates parsed as strings, leading zeros stripped from IDs, scientific notation on large numbers, inconsistent NULL representations. QueryFlow's CSV source has type inference settings to handle these: 'all columns as text' for safety, explicit type overrides per column, NULL token configuration. For pathological Excel files, a Flow Book with pandas pre-processing handles edge cases.

Schedule recurring Excel imports

For workflows where Excel files arrive regularly in a folder (SFTP-delivered vendor data, shared drive uploads), schedule the pipeline. Point at the folder, configure wildcard for matching files (sales_export_*.csv), schedule daily or hourly. New files are detected and processed on each run; processed files are archived to a configurable subdirectory.

Direct xlsx support on roadmap

v1.5 expects CSV (save-as from Excel first). Direct xlsx file support is in active development on the public roadmap. When shipped, you'll point the source at the xlsx file directly without conversion. Multi-sheet xlsx files will let you pick the sheet within the pipeline configuration.

Common Postgres destinations

QueryFlow's Postgres destination works with any standard Postgres deployment: localhost, AWS RDS, AWS Aurora, Neon (serverless), Supabase, Heroku Postgres, Crunchy Bridge, Render, Railway, self-hosted. Same connection model: host, port, user, password, database, SSL configuration.

Upsert vs insert vs replace

For weekly Excel imports updating existing data, configure the destination as UPSERT mode (requires a primary key in the destination table). New rows insert, changed rows update by primary key. For append-only data (event logs, transactions), use INSERT mode. For full-table replacement on each load, use REPLACE mode (DELETE then INSERT).

Handling Excel-specific issues

Common Excel quirks and how QueryFlow handles them: date columns formatted as '2026-01-15' in Excel exported as text strings — QueryFlow's date type inference handles this. Postal codes with leading zeros: configure the column as TEXT type to preserve them. Numbers in scientific notation: QueryFlow detects and converts to proper numeric types. Embedded commas in text fields: standard CSV quoting handles these correctly.

Frequently asked

Does QueryFlow support xlsx files directly without CSV conversion?

v1.5 expects CSV. Direct xlsx support is on the public roadmap with active development. For now, Excel's built-in 'Save As CSV UTF-8' produces clean output QueryFlow loads cleanly.

Can QueryFlow handle multi-sheet Excel files?

Currently you'd save each sheet as a separate CSV. When native xlsx support ships, you'll select which sheet within the pipeline configuration.

How does QueryFlow handle Excel's merged cells?

Merged cells don't translate well to relational databases. The typical workflow: in Excel, unmerge cells before exporting, fill the merged values down so each row has its own value. QueryFlow then loads cleanly. A Flow Book can also fill-down merged values programmatically.

Can QueryFlow load Excel data into specific Postgres schemas?

Yes. The destination configuration lets you pick a schema (besides public) and the target table within that schema.

What about Excel files larger than 1M rows (the Excel limit)?

Excel can't open such files natively, but you might receive CSV files exceeding 1M rows. QueryFlow handles these — the limit is your Postgres write throughput, not QueryFlow's parsing. For very large CSVs (50M+ rows), structure the load as multiple smaller batches via a Flow Book.

Excel → Postgres, native to Mac.

14-day free trial. Load your first Excel file in under 5 minutes.

Start 14-day free trial