---
title: "Convertir Excel en SQL"
description: "Convertissez des fichiers Excel en SQL pour PostgreSQL, MySQL, MariaDB, SQLite, SQL Server ou Oracle dans le navigateur. Gratuit, sans envoi du fichier."
canonical: https://intosql.com/fr/excel-en-sql
last_updated: 2026-10-15
---

# Convertir Excel en SQL

Déposez votre fichier Excel et choisissez votre base de données pour obtenir un script SQL avec des instructions CREATE TABLE et INSERT. Chaque colonne reçoit un type, et chaque correction est listée avec sa ligne et sa colonne.

## Un fichier Excel, six bases de données

L'exemple ci-dessus, clientes_2024.xlsx, et le type que reçoit chacune de ses colonnes dans chaque base de données.

| Dans le fichier | Première valeur | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Nº Cliente | `00127` | `text` | `varchar(8)` | `varchar(8)` | `TEXT` | `nvarchar(8)` | `VARCHAR2(8 CHAR)` |
| Nombre | `Peña Muñoz` | `text` | `varchar(16)` | `varchar(16)` | `TEXT` | `nvarchar(16)` | `VARCHAR2(16 CHAR)` |
| C.P. | `01234` | `text` | `varchar(8)` | `varchar(8)` | `TEXT` | `nvarchar(8)` | `VARCHAR2(8 CHAR)` |
| Alta | `03/02/2024` | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Activo | `sí` | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Saldo | `1.234,50` | `numeric(6,2)` | `decimal(6,2)` | `decimal(6,2)` | `NUMERIC(6,2)` | `decimal(6,2)` | `NUMBER(6,2)` |

## Charger le script dans votre base de données

Le téléchargement est un simple fichier .sql. Chaque base de données l'exécute avec ses propres outils.

### PostgreSQL

```shell
psql -v ON_ERROR_STOP=1 -d mydb -f clientes_2024.postgresql.sql
```

ON_ERROR_STOP arrête psql à la première erreur. Le script s'exécute dans une seule transaction, donc un chargement raté laisse la base de données intacte. Dans pgAdmin ou DBeaver, ouvrez le script dans une fenêtre de requête et exécutez-le.

Sans script:

```shell
intosql load clientes_2024.xlsx --into postgres://user@localhost/mydb
```

### MySQL

```shell
mysql --default-character-set=utf8mb4 mydb < clientes_2024.mysql.sql
```

Le script définit lui-même utf8mb4 ; l'option fait envoyer le client de la même façon, donc les accents arrivent intacts. Dans MySQL Workbench, choisissez File, Run SQL Script, puis le fichier.

Sans script:

```shell
intosql load clientes_2024.xlsx --into mysql://user@localhost/mydb
```

### MariaDB

```shell
mariadb --default-character-set=utf8mb4 mydb < clientes_2024.mariadb.sql
```

Le script définit lui-même utf8mb4 ; l'option fait envoyer le client de la même façon, donc les accents arrivent intacts. Dans HeidiSQL ou DBeaver, ouvrez le script et exécutez-le.

Sans script:

```shell
intosql load clientes_2024.xlsx --into mariadb://user@localhost/mydb
```

### SQLite

```shell
sqlite3 clientes_2024.db < clientes_2024.sqlite.sql
```

Le fichier de base de données est créé s'il n'existe pas. Le convertisseur télécharge aussi une base .sqlite prête, sans aucune commande. Dans DB Browser for SQLite, choisissez Execute SQL, ouvrez le script et exécutez-le.

Sans script:

```shell
intosql load clientes_2024.xlsx --into clientes_2024.db
```

### SQL Server

```shell
sqlcmd -S localhost -d mydb -f 65001 -i clientes_2024.sql_server.sql
```

-f 65001 lit le fichier en UTF-8, donc les accents et le ñ arrivent tels qu'écrits. Dans SQL Server Management Studio ou Azure Data Studio, ouvrez le fichier et choisissez Execute.

### Oracle

```shell
sqlplus user@//localhost/mydb @clientes_2024.oracle.sql
```

Le script désactive les variables de substitution (SET DEFINE OFF), donc une esperluette dans vos données reste une esperluette. Dans SQL Developer, ouvrez le script et choisissez Run Script (F5).

## Ce qu'IntoSQL lit dans les fichiers Excel

- La ligne d'en-tête est trouvée même quand des titres ou des notes se trouvent au-dessus, et une ligne de totaux à la fin est écartée.
- Les dates stockées comme numéros de série Excel deviennent de vraies dates, dans le système de dates 1900 comme dans le 1904.
- Les codes avec des zéros en tête, comme 00127, restent du texte. Quand un classeur a plusieurs feuilles, vous choisissez la feuille.

## Bon à savoir sur chaque base de données

- Choisissez la base de données une fois le fichier ouvert : chacune reçoit les types qu'elle prend en charge.

### Comment chaque type de valeur est stocké dans chaque base de données

| Valeur | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Oui et non | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Nombres entiers | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Grands nombres entiers | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Décimaux | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Nombres à virgule flottante | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Dates | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Heures | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Dates avec heure | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Dates avec heure et décalage | `timestamptz` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| Texte | `text` | `varchar(n) · text · mediumtext · longtext` | `varchar(n) · text · mediumtext · longtext` | `TEXT` | `nvarchar(n) · nvarchar(max)` | `VARCHAR2(n CHAR) · CLOB` |

## Questions sur Excel vers SQL

### Comment convertir Excel en SQL ?

Déposez votre fichier sur le convertisseur en haut de cette page et choisissez votre base de données : PostgreSQL, MySQL, MariaDB, SQLite, SQL Server ou Oracle. Chacune reçoit les types qu'elle prend en charge. Téléchargez le script et exécutez-le dans votre base.

### Quelle feuille du classeur est convertie ?

La première feuille visible. Quand un classeur en a plusieurs, une option Feuille apparaît pour en choisir une autre.

### Quels types utilise-t-il dans chaque base de données ?

Chaque base a les siens : les valeurs oui et non sont boolean dans PostgreSQL, tinyint(1) dans MySQL et MariaDB, bit dans SQL Server et NUMBER(1) dans Oracle. Le tableau de cette page liste chaque type de valeur.

### Garde-t-il les zéros en tête ?

Oui. Un code comme 00127 reste du texte dans chaque base de données, écrit '00127', donc aucun zéro n'est perdu.

### Peut-il charger les données sans script ?

Oui. La ligne de commande charge gratuitement dans SQLite, et avec IntoSQL Pro, l'application de bureau et la ligne de commande chargent dans PostgreSQL, MySQL et MariaDB. Pour SQL Server et Oracle, exécutez le script.

### Quelle taille peut avoir le fichier Excel ?

Dans le navigateur, le classeur est lu en entier, donc la limite est la mémoire que le navigateur accorde à cette page. L'application de bureau et la ligne de commande acceptent des classeurs de toute taille ; sur un portable Apple M4, la ligne de commande convertit un classeur de 117 Mo d'un million de lignes en environ une seconde.

## Excel vers d'autres bases de données

- [Convertir Excel en PostgreSQL](https://intosql.com/fr/excel-en-postgresql)
- [Convertir Excel en MySQL](https://intosql.com/fr/excel-en-mysql)
- [Convertir Excel en MariaDB](https://intosql.com/fr/excel-en-mariadb)
- [Convertir Excel en SQLite](https://intosql.com/fr/excel-en-sqlite)
- [Convertir Excel en SQL Server](https://intosql.com/fr/excel-en-sql-server)
- [Convertir Excel en Oracle](https://intosql.com/fr/excel-en-oracle)

## Autres fichiers vers SQL

- [Convertir CSV en SQL](https://intosql.com/fr/csv-en-sql)
- [Convertir JSON en SQL](https://intosql.com/fr/json-en-sql)
