Want to import data from each sheet in an Excel file to a separate SQL Server table?
Try Withdata FileToDB, a desktop Excel to SQL Server converter for Windows, MacOS, and Linux, Convert Excel to SQL Server, Easy and Fast.
- Can run in GUI mode, Step by Step, just a few mouse clicks.
- Can run in Command line, for Scheduled Tasks and Streams.
- Import Excel to SQL Server locally and privately, avoid uploading Excel file(s) to online services.
- Support Windows, Linux, and macOS.
Import data from each sheet in an Excel file to a separate SQL Server table
Login to SQL Server -> Select Excel worksheets -> Set SQL Server tables -> Excel worksheets to SQL Server tables
Choose SQL Server and logon.

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

Select the “Excel” file type.

then show the wizard.
1. Open Excel file, select worksheets.

2. Show existing SQL Server tables, choose “Import Type”.

3. Set SQL Server tables.

4. Show summary, set “Convert Rows”.

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

View imported data in SQL Server table

More about Excel to SQL Server converter
See Video: Import each worksheet in an Excel file to a separate SQL Server table at one time
EXCEL → SQL Server reference
Type mapping
| Value kind | in EXCEL | in SQL Server |
|---|---|---|
| Int | 1234 (a real numeric cell) | int |
| Bigint | 9007199254740993 (exact only while the cell stays text) | bigint |
| Decimal | 1234.56 (numeric cell, format controls the displayed decimals) | decimal(p,s) |
| Float | 1.234E+10 (numeric cell) | float |
| Text | text cell; leading zeros survive only if the column is text | nvarchar(n) |
| Long text | text cell; wraps inside the cell rather than the row | nvarchar(max) |
| Date | a serial number plus a date cell format | date |
| Datetime | a serial number plus a date-time cell format | datetime2 |
| Binary | not representable as data | varbinary(max) |
| Boolean | TRUE / FALSE (a real boolean cell) | bit |
| JSON | a text cell; the quotes are part of the value | nvarchar(max) |
Dialect differences
EXCEL is a file format and SQL Server 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.
| Property | in EXCEL | in SQL Server |
|---|---|---|
| port | — | 1433 |
| identifiers | Not applicable; a cell holds exactly one value | [square brackets] |
| row limit | — | SELECT TOP n |
| dates | Stored as a serial number; only the cell format makes it lo... | datetime, datetime2, date, time |
| long text | — | nvarchar(max) |
| binary | Only as text or an embedded object, not as a data column | varbinary(max) |
| separator | Cells, not delimiters | — |
| encoding | UTF-8 internally, declared in the package | — |
| typing | Real cell types: text, number, date, boolean, error | — |
| shape | Multiple sheets, each a flat grid | Tables of rows and columns |
| ceiling | 1,048,576 rows x 16,384 columns per sheet; 255 sheets per w... | — |
Command line
| Side | Command |
|---|---|
| SQL Server | bcp |
| SQL Server (load) | bcp, or BULK INSERT |
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.
