Automatisation: xls>>csv>>sql (LOAD ou INSERT)

Résolu
Bonjour,

je travaille sur Excel pour la configuration d'un base de données je convertis mes feuilles (tables) en csv et que j'injecte dans la base mysql en utiisant des LOAD DATA INFILE . donc j'ai déjà une macro qui me converti tous en csv .
J'aurais besoin d'une autre macro ou d'un code qui me génère le script sql adéquat pour chaque table (feuille) après le passage en csv .
Exemple pour une feuille (table) REGION après passage en csv (garde le même nom) que j'obtienne le script suivant :
LOAD DATA INFILE 'REGION.csv'
INTO TABLE REGION
FIELDS
TERMINATED BY ';'
ENCLOSED BY ''
LINES
STARTING BY ''
TERMINATED BY '\n'
IGNORE 1 LINES
(ID_REGION , LIBELLE )
ID_REGION et LIBELLE étant l'entête des colonnes de la table région
Remarque : le nom des tables (feuilles) est le même pour les tables de la base.
si vous avez une idée pour me permettre d'automatiser tous ça je suis preneur .
Merci et dsl pour le paragraphe .
cdlt.

3 réponses

  1. Bonjour,

    Quant à moi, j'utilise volontiers une formule Excel pour me créer les commandes d'insertion:

    Tableau Excel:
     |    A    |     B     |      C     |   D    |
    -+---------+-----------+------------+--------+
    1| nom     | prenom    |  né(e) le  |
    2| DUPONT  | Jean      | 15/04/1951 |= formules ci-dessous
    3| DUVAL   | Iseut     | 28/07/1981 |= formules ci-dessous
    
    D2: ="INSERT INTO table (nom,prenom,dnais) VALUES ('"&A2&"','"&B2&"','"&TEXTE(C2;"AAAA-MM-JJ")&"');"
    D3: ="INSERT INTO table (nom,prenom,dnais) VALUES ('"&A3&"','"&B3&"','"&TEXTE(C3;"AAAA-MM-JJ")&"');"

    Cela produit les résultats suivants :
    INSERT INTO table (nom,prenom,dnais) VALUES ('DUPONT','Jean','1951-04-15');
    INSERT INTO table (nom,prenom,dnais) VALUES ('DUVAL','Yseut','1981-07-28');

    Nota:
    - J'ai mis un champ de type date pourun exemple de conversion vers SQL
    - si les zones de textes comprennent des apostrophes (ex: nom = d'Ormesson) effectuer un Rechercher/Remplacer... et remplacer ' par \' ou remplacer ' par '' (deux apostrophes pas le guillemet)

    Copier/Coller... Insérer SQL dans phpMyAdmin par exemple
    Copier/Coller... dans Bloc-notes, puis enregistrer dans un fichier texte : insert_table.sql
    1. C'est une idée , je fais un essaie et je te tiens au courant !!
      Merci en tout cas !
      1. C'est plutôt pas mal, je vais essayer de travailler encore dans cette direction pour améliorer la manoeuvre
        Merci heliconius .