|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Importation automatique données fichier Excel |
Débuté par ADAMS Vianney, 16 sep. 2020 16:46 - 5 réponses |
| |
| | | |
|
| |
Posté le 16 septembre 2020 - 16:46 |
Bonjour,
je travail sous windev25. Je souhaiterais faire une routine qui permet de récupérer les informations d'un fichier Excel dans une base de données HSQL.
J'ai créé mon analyse en choisissant Excel comme source. Cela ma créer mon analyse avec les différents fichier par onglet du fichier Excel.
Je souhaite ensuite pouvoir injecter chaque jour les données des différents onglets dans les fichiers de données HSQL.
J'ai essayé le code suivant :
//Importation de la liste des appareil IdFichierXLS est un entier FichierExcel est une chaîne i,NbLigne,NbColonne est un entier FichierExcel="Chemin du fichier Excel.xls" SI fFichierExiste(FichierExcel) ALORS HCréation(Appareils$) IdFichierXLS = xlsOuvre("Chemin du fichier Excel.xls") NbLigne=xlsNbLigne(IdFichierXLS) HOuvre(Client) POUR i=2 A NbLigne SI IdFichierXLS <> -1 ALORS Appareils$.Code_Client= xlsDonnée (IdFichierXLS,i,1,Vrai) Appareils$.Nom= xlsDonnée (IdFichierXLS,i,2,Vrai) HAjoute(Appareils$) FIN FIN SINON Erreur("Le fichier Excel n'existe pas") FIN
le problème c'est que j'ai une colonne son nom est (A#Z_APP-LM#Z_PONT_INF) du coup dans le code cela donne Appareils$.(A#Z_APP-LM#Z_PONT_INF) = xlsDonnée (IdFichierXLS,i,7,Vrai)
et j'ai une erreur car les caractère ()# ne sont pas reconnu. Je ne peux pas changer le nom de la colonne, car le fichier Excel nous est fourni.
Est-ce qu'il existe des caractère d'échappement pour que ma ligne soit prise en compte ?
Sinon est-ce qu'il existe un système pour le faire en automatique sans devoir déclarer chaque colonne (comme lors de l'import du fichier pour la création de la base HSQL) ? |
| |
| |
| | | |
|
| | |
| |
Posté le 16 septembre 2020 - 17:30 |
Bonjour,
je pense avoir trouvé un début d'élément de réponse avec l'outils WDConvert.
Il lance l'outils lors de la création de mon analyse qui permet l'import.
J'ai vu qu'il était possible de lancer l'outils en ligne de commande avec un script qui récupère les informations, mais je ne sais pas comment créer le script.
Est-ce qu'il suffit de mettre les différentes informations dans un fichier txt qu'on modifie ensuite l’extension en wdv ?
De plus comment spécifié le fichier source et indiquer que je veux créer/mettre a jours les fichier FIC du répertoire déjà présent ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 886 messages Popularité : +227 (347 votes) |
|
Posté le 17 septembre 2020 - 05:43 |
Bonjour, Regarde du côté de HImporteXLS/HExporteXLS
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Posté le 17 septembre 2020 - 13:58 |
Merci,
cela semble fonctionner. Mais je n'arrive pas a retrouver le numéro de mes onglets de ma feuilles Excel.
J'ai fait un fichier Excel classique, j'ai lancer le HIImport pas de soucis, j'indique le 1 ou 2 selon l'onglet pour tel ou tel fichier de données.
Par contre dans mon fichier reçu je reprend la numérotation dans le sens 1.2.3 selon l'emplacement de l'onglet mais cela ne semble pas correspondre.
JE suis passé en mode développeur, et je vois que les feuilles porte des numéro différent (feuilles 10 etc...) je met ces numéros la, mais je n'ai pas d'import non plus, ou de l'import d'une mauvaise feuilles dans le fichier.
Comment puis-je savoir le numéro précis des feuilles ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 572 messages Popularité : +222 (260 votes) |
|
Posté le 18 septembre 2020 - 07:39 |
Bonjour,
Pourquoi ne pas utiliser une variable de type xlsDocument ? A partir de là ton import tu le fais manuellement et c'est beaucoup mieux car tu as la main sur les données.
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 886 messages Popularité : +227 (347 votes) |
|
Posté le 18 septembre 2020 - 08:44 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|