Batch import Excel files to PostgreSQL tables

by

Want to bulk import Excel files into PostgreSQL tables at one time?

Try Withdata FileToDB, a desktop Excel to PostgreSQL converter for Windows, MacOS, and Linux, Convert Excel to PostgreSQL, Easy and Fast.

Download Withdata FileToDB Download FileToDB

Bulk import Excel files into PostgreSQL tables

Login to PostgreSQL -> Choose Excel files -> Set PostgreSQL tables -> Import Excel files to PostgreSQL tables

Choose PostgreSQL and logon.

bulk import Excel files into PostgreSQL tables - Choose PostgreSQL and logon

Click “Wizard – N Files To N Tables” at task dialog.

bulk import Excel files into PostgreSQL tables - task window

Select the “Excel” file type.

bulk load Excel files into PostgreSQL tables - select file type

then show the wizard.

1. Select a folder that constains Excel files.

bulk import Excel files into PostgreSQL tables - select a folder

2. Config first Excel file importing options.

bulk import Excel files into PostgreSQL tables - config first file

3. Set “Import Type”.

bulk import Excel files into PostgreSQL tables - set tables

4. Map PostgreSQL tables to Excel files.

bulk import Excel files into PostgreSQL tables - map

5. Summary. Set “Convert Rows” and “Skip Rows” if need.

bulk import Excel files into PostgreSQL tables - preview

6. Import Excel files to PostgreSQL tables, 1 file to 1 table, one by one.

bulk import Excel files into PostgreSQL tables - import data

View imported data in PostgreSQL table

bulk import Excel files into PostgreSQL tables - view data


More about Excel to PostgreSQL converter

See Video: PostgreSQL bulk import Excel files into tables in one go

See also:

EXCEL → PostgreSQL reference

Type mapping

Value kindin EXCELin PostgreSQL
Int1234 (a real numeric cell)integer
Bigint9007199254740993 (exact only while the cell stays text)bigint
Decimal1234.56 (numeric cell, format controls the displayed decimals)numeric(p,s)
Float1.234E+10 (numeric cell)double precision
Texttext cell; leading zeros survive only if the column is textvarchar(n)
Long texttext cell; wraps inside the cell rather than the rowtext
Datea serial number plus a date cell formatdate
Datetimea serial number plus a date-time cell formattimestamp
Binarynot representable as databytea
BooleanTRUE / FALSE (a real boolean cell)boolean
JSONa text cell; the quotes are part of the valuejsonb

Dialect differences

EXCEL is a file format and PostgreSQL is a database server, so the target has to be told the types the file never carried - the rows below are where the two sides diverge.

Propertyin EXCELin PostgreSQL
port—5432
identifiersNot applicable; a cell holds exactly one value"double quotes"
row limit—LIMIT n
datesStored as a serial number; only the cell format makes it lo...timestamp, timestamptz, date, time
long text—TEXT
binaryOnly as text or an embedded object, not as a data columnBYTEA
separatorCells, not delimiters—
encodingUTF-8 internally, declared in the package—
typingReal cell types: text, number, date, boolean, error—
shapeMultiple sheets, each a flat gridTables of rows and columns
ceiling1,048,576 rows x 16,384 columns per sheet; 255 sheets per w...—

Command line

SideCommand
PostgreSQLpg_dump or COPY ... TO
PostgreSQL (load)COPY ... FROM

Convert your data online, free

Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.