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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
Currently you'd save each sheet as a separate CSV. When native xlsx support ships, you'll select which sheet within the pipeline configuration.
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.
Yes. The destination configuration lets you pick a schema (besides public) and the target table within that schema.
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.
14-day free trial. Load your first Excel file in under 5 minutes.