Quelqu'un peut-il expliquer comment importer un fichier Microsoft Excel dans une base de données MySQL?
Par exemple, mon tableau Excel ressemble à ceci:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
Réponses:
Exportez-le dans un format de texte. Le plus simple sera probablement une version délimitée par des tabulations, mais CSV peut également fonctionner.
Utilisez la capacité de chargement des données. Voir http://dev.mysql.com/doc/refman/5.1/en/load-data.html
Regardez à mi-chemin de la page, car cela donnera un bon exemple de données séparées par des tabulations:
CHAMPS TERMINÉS PAR '\ t' FERMÉ PAR '' ÉCHAPPÉ PAR '\'
Vérifiez vos données. Parfois, les guillemets ou les échappements posent des problèmes, et vous devez ajuster votre source, commande d'importation - ou il peut simplement être plus facile de post-traiter via SQL.
la source
Il existe un outil en ligne simple qui peut faire cela appelé sqlizer.io .
Vous y téléchargez un fichier XLSX, entrez un nom de feuille et une plage de cellules, et il générera une instruction CREATE TABLE et un tas d'instructions INSERT pour importer toutes vos données dans une base de données MySQL.
(Clause de non-responsabilité: j'aide à exécuter SQLizer)
la source
Vous trouverez ci-dessous une autre méthode pour importer des données de feuille de calcul dans une base de données MySQL qui ne repose sur aucun logiciel supplémentaire. Supposons que vous souhaitiez importer votre table Excel dans la
sales
table d'une base de données MySQL nomméemydatabase
.Sélectionnez les cellules pertinentes:
Collez dans Mr. Data Converter et sélectionnez la sortie comme MySQL:
Modifiez le nom de la table et les définitions de colonne en fonction de vos besoins dans la sortie générée:
CREATE TABLE sales ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Country VARCHAR(255), Amount INT, Qty FLOAT ); INSERT INTO sales (Country,Amount,Qty) VALUES ('America',93,0.60), ('Greece',9377,0.80), ('Australia',9375,0.80);
Si vous utilisez MySQL Workbench ou que vous êtes déjà connecté à
mysql
partir de la ligne de commande, vous pouvez exécuter directement les instructions SQL générées à partir de l'étape 3. Sinon, collez le code dans un fichier texte (par exemple,import.sql
) et exécutez cette commande à partir d'un shell Unix:mysql mydatabase < import.sql
Vous trouverez d'autres façons d'importer à partir d'un fichier SQL dans cette réponse Stack Overflow .
la source
Il existe en fait plusieurs façons d'importer un fichier Excel dans une base de données MySQL avec différents degrés de complexité et de succès.
Excel2MySQL . Sans conteste, le moyen le plus simple et le plus rapide d'importer des données Excel dans MySQL. Il prend en charge toutes les versions d'Excel et ne nécessite pas d'installation d'Office.
LOAD DATA INFILE : Cette option populaire est peut-être la plus technique et nécessite une certaine compréhension de l'exécution des commandes MySQL. Vous devez créer manuellement votre table avant de charger et utiliser des types de champs VARCHAR de taille appropriée. Par conséquent, vos types de données de champ ne sont pas optimisés. LOAD DATA INFILE a du mal à importer des fichiers volumineux qui dépassent la taille «max_allowed_packet». Une attention particulière est requise pour éviter les problèmes d'importation de caractères spéciaux et de caractères Unicode étrangers. Voici un exemple récent que j'ai utilisé pour importer un fichier csv nommé test.csv.
phpMyAdmin : sélectionnez d'abord votre base de données, puis sélectionnez l'onglet Importer. phpMyAdmin créera automatiquement votre table et dimensionnera vos champs VARCHAR, mais il n'optimisera pas les types de champs. phpMyAdmin a du mal à importer des fichiers volumineux qui dépassent la taille «max_allowed_packet».
MySQL pour Excel : il s'agit d'un complément Excel gratuit d'Oracle. Cette option est un peu fastidieuse car elle utilise un assistant et l'importation est lente et boguée avec de gros fichiers, mais cela peut être une bonne option pour les petits fichiers avec des données VARCHAR. Les champs ne sont pas optimisés.
la source
Je ne sais pas si vous avez toute cette configuration, mais pour moi, j'utilise PHP et MYSQL. J'utilise donc une classe PHP PHPExcel. Cela prend un fichier dans presque tous les formats, xls, xlsx, cvs, ... et vous permet ensuite de lire et / ou d'insérer.
Donc, ce que je finis par faire est de charger l'Excel dans un objet phpexcel, puis de parcourir toutes les lignes. En fonction de ce que je veux, j'écris une simple commande d'insertion SQL pour insérer les données du fichier Excel dans ma table.
Sur le front-end, c'est un peu de travail, mais c'est juste une question de peaufiner certains des exemples de code existants. Mais lorsque vous l'avez composé, apporter des modifications à l'importation est simple et rapide.
la source
le moyen le meilleur et le plus simple est d'utiliser l'application "MySQL pour Excel" qui est une application gratuite d'Oracle. cette application a ajouté un plugin pour exceller pour exporter et importer des données vers mysql. vous pouvez le télécharger ici
la source
Lors de l'utilisation de fichiers texte pour importer des données, j'ai eu des problèmes avec les citations et la façon dont Excel formait les nombres. Par exemple, ma configuration Excel a utilisé la virgule comme séparateur décimal au lieu du point.
J'utilise maintenant Microsoft Access 2010 pour ouvrir ma table MySql en tant que table liée. Là, je peux simplement copier et coller des cellules d'Excel vers Access.
Pour ce faire, installez d'abord le pilote ODBC MySql et créez une connexion ODBC . Puis en accès, dans l'onglet "Données externes", ouvrez la boîte de dialogue "Base de données ODBC" et liez à n'importe quelle table utilisant la connexion ODBC.
À l'aide de MySql Workbench , vous pouvez également copier et coller vos données Excel dans la grille de résultats de MySql Workbench. J'ai donné des instructions détaillées dans cette réponse .
la source
Pour un exemple étape par étape pour importer Excel 2007 dans MySQL avec un encodage correct (UTF-8), recherchez ce commentaire:
"Posté par Mike Laird le 13 octobre 2010 00h50"
dans l'URL suivante:
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
la source
Vous pouvez utiliser DocChow , un GIU très intuitif pour importer Excel dans MySQL, et il est gratuit sur la plupart des plates-formes courantes (y compris Linux).
Plus particulièrement si vous êtes préoccupé par la date, les types de données datetime, DocChow gère facilement les types de données. Si vous travaillez avec plusieurs feuilles de calcul Excel que vous souhaitez importer dans une table MySQL, DocChow fait le sale boulot.
la source
Étape 1 Créez votre fichier CSV
Étape 2 Connectez-vous à votre serveur mysql
Étape 3 Chargez votre fichier csv
load data local infile '//home/my-sys/my-excel.csv' into table my_tables fields terminated by ',' enclosed by '"' (Country, Amount,Qty);
la source
Toad pour MySQL est un autre outil utile, et en tant que remplacement frontal de MySQL . Malheureusement, ce n'est plus pris en charge par Quest , mais un brillant IDE pour MySQL, avec des assistants IMPORT et EXPORT, prenant en charge la plupart des types de fichiers.
la source