2010-07-22 3 views
1

Je me demande s'il existe une possibilité (native) de créer une table MySQL à partir d'une feuille de calcul .xls ou .xlsx. Notez que je ne veux pas importer un fichier dans une table existante avec LOAD DATA INFILE ou INSERT INTO, mais pour créer la table à partir de zéro. c'est-à-dire utiliser l'en-tête en tant que colonnes (avec un certain type de champ par défaut, par exemple INT), puis insérer les données en une seule étape. Jusqu'à présent, j'ai utilisé un script python pour créer une instruction create et importé le fichier par la suite, mais d'une manière ou d'une autre, je me sens maladroit avec cette approche.Créer une table MySQL à partir de la feuille de calcul xls

Répondre

1

Il n'existe aucun outil MySQL natif qui le fait, mais le MySQL PROCEDURE ANALYSE peut vous aider à suggérer les types de colonnes appropriés.

1

Avec un script VB, vous pouvez le faire. Sur mon client, nous avons un script qui prend le nom de la feuille de calcul, les noms de rubrique et les formats de champ et génère un script SQL contenant une instruction CREATE TABLE et les instructions INSERT INTO. Nous utilisons Oracle mais mySQL est le même principe.

Bien sûr, vous pouvez le faire encore plus sophistiqué en accédant à mySQL à partir d'Excel par ODBC et en publiant les instructions CREATE TABLE et INSERT INTO de cette façon.

Je ne peux pas vous fournir le script car c'est l'appartenance de mon client mais je peux répondre à vos questions sur la façon d'écrire un tel script si vous voulez en écrire un.

+0

J'ai un script python qui le fait :). Pour la partie ODBC: je ne sais pas si mon mini-excel le fait ... mais merci pour la suggestion. –

+0

Je suis d'accord que la fonction d'analyse mySQL est le meilleur moyen d'identifier le format des colonnes. Bien sûr, vous pouvez l'écrire vous-même dans VBA en utilisant "myCellRange.NumberFormat" pour analyser le format des colonnes. Mais il y a tellement de formats et souvent on n'utilise que le format "Général" qui ne vous dit pas grand-chose. – hol

Questions connexes