Import each sheet in an Excel file to a separate MySQL table

by

Want to import data from each sheet in an Excel file to a separate MySQL table?

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

Download Withdata FileToDB Download FileToDB

Import data from each sheet in an Excel file to a separate MySQL table

Login to MySQL -> Select Excel worksheets -> Set MySQL tables -> Excel worksheets to MySQL tables

Choose MySQL and logon.

import data from each sheet in an Excel file to a separate MySQL table - Choose MySQL and logon

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

import data from each sheet in an Excel file to a separate MySQL table - task window

Select the “Excel” file type.

load each sheet in an Excel file to a separate MySQL table - select file type

then show the wizard.

1. Open Excel file, select worksheets.

import data from each sheet in an Excel file to a separate MySQL table - select worksheets

2. Show existing MySQL tables, choose “Import Type”.

import data from each sheet in an Excel file to a separate MySQL table - choose import type

3. Set MySQL tables.

import data from each sheet in an Excel file to a separate MySQL table - set tables

4. Show summary, set “Convert Rows”.

import data from each sheet in an Excel file to a separate MySQL table - summary

5. Import data from each sheet in an Excel file to a separate MySQL table.

import data from each sheet in an Excel file to a separate MySQL table - import data

View imported data in MySQL table

import data from each sheet in an Excel file to a separate MySQL table - view data


More about Excel to MySQL converter

See Video: Import each worksheet in an Excel file to a separate MySQL table at one time

EXCEL → MySQL reference

Type mapping

Value kindin EXCELin MySQL
Int1234 (a real numeric cell)INT
Bigint9007199254740993 (exact only while the cell stays text)BIGINT
Decimal1234.56 (numeric cell, format controls the displayed decimals)DECIMAL(p,s)
Float1.234E+10 (numeric cell)DOUBLE
Texttext cell; leading zeros survive only if the column is textVARCHAR(n)
Long texttext cell; wraps inside the cell rather than the rowLONGTEXT
Datea serial number plus a date cell formatDATE
Datetimea serial number plus a date-time cell formatDATETIME
Binarynot representable as dataLONGBLOB
BooleanTRUE / FALSE (a real boolean cell)TINYINT(1)
JSONa text cell; the quotes are part of the valueJSON

Dialect differences

EXCEL is a file format and MySQL 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 MySQL
port—3306
identifiersNot applicable; a cell holds exactly one value`backtick`
row limit—LIMIT n
datesStored as a serial number; only the cell format makes it lo...DATETIME, TIMESTAMP, DATE, TIME
long text—TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT
binaryOnly as text or an embedded object, not as a data columnBLOB / TINYBLOB / LONGBLOB
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
MySQLmysqldump, or mysql -e "SELECT ..." > out.csv
MySQL (load)mysqlimport, or LOAD DATA INFILE

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.