Excel
PostgreSQL

Excel to PostgreSQL Converter

Each sheet of an .xlsx workbook becomes a PostgreSQL table, with column types chosen from the values in it.

Version
5.8.0
Release Date
Nov. 8, 2026
Size
51.3 MB
Platform
Windows 10 or later

Rather not run it yourself?

Let us do the migration →

Load the sheets of an Excel workbook into PostgreSQL as tables. DBConvert reads the .xlsx file itself, picks each column's type from its values, and writes the rows to the server.

  • Reads .xlsx workbooks. No Microsoft Office or Excel driver is needed.
  • Writes to a PostgreSQL database.
  • Runs on Windows as a desktop application.
  • The same download exports PostgreSQL back into Excel. One licence key covers the MySQL and SQL Server pairs too.

What the workbook needs

The .xlsx format

An older .xls file does not open. Save it as .xlsx in Excel first, then convert the copy.

Column names in the first row

Each sheet becomes a table, and its first row holds the column names. A sheet with nothing in it is not listed.

Any number of rows

Sheets are read a row at a time, so a full sheet of 1,048,576 rows loads too.

What happens to the cells

  • Empty rows are skipped. An empty cell becomes NULL.
  • Dates are recognised by the cell's number format, including workbooks that use the 1904 date system.
  • TRUE and FALSE cells arrive as the text TRUE and FALSE.
  • Error cells such as #N/A or #DIV/0! arrive as NULL and are named in the run log.
  • A column without a name gets one, such as Field2. Two names that differ only in case get a suffix, such as Name_2, so PostgreSQL accepts both.

A job keeps both connections, the table selection, and the options. Run it again from the application, or by name from Task Scheduler with --run-job.

How Excel columns map to PostgreSQL

The type is chosen from every value in the column. Review or change it per column before the run.

Scroll sideways to see all columns.

Values in the column DBConvert default in PostgreSQL
Whole numbers integer, or bigint once a value passes 32 bits.
Fractions numeric(p,s), wide enough for every value in the column.
Numbers Excel shows with an exponent double precision
Dates date without a time, timestamp with one.
Text, or a mix of kinds text

Formulas, formatting, and macros stay in Excel

DBConvert moves the data in the cells. Formulas, formatting, charts, pivot tables, data validation, macros, and VBA are the workbook's logic, not its data, and are not converted.

Supported versions and services

Excel

  • Microsoft Excel workbooks (.xlsx)
  • No Microsoft Office or Excel driver needed

PostgreSQL

  • PostgreSQL 8.x through 17.x
  • Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL, Supabase
  • PostgreSQL schemas (public, custom schemas)

How to migrate Excel to PostgreSQL

1

Setup: connect Excel and PostgreSQL

Choose the source and destination connections side by side on one screen. A connection is saved once and reused by every job.

Excel source

Select the .xlsx workbook. Each sheet with data is listed as a table, its first row read as the column names.

PostgreSQL target

Use the PostgreSQL connection guide.

2

Tables & mapping: see every PostgreSQL type before a row moves

Pick the tables, then open one: each Excel column shows the PostgreSQL type it becomes. Change a type or a name in place; the line at the bottom names anything that would fail.

3

Execution: start it, and the job is saved

Review what the run will do, start it, and read the log as it goes. The job stays in the list to run again or put on a schedule.

Verify the copy

With Verify after the run on, the destination is checked when the copy ends: schema, totals and rows. The window shows which tables, rows and columns differ.

How Verify works

Every option, in the guide

Naming rules, table options, row filters, scheduling and the command line work the same for every database pair, so they live in one place.

Move Excel data into PostgreSQL

Download the current build and run the first job against your own database.

Windows Windows 10 or later · 51.3 MB