PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Lecture des Fichiers Excel xlsx...
Lecture des Fichiers Excel xlsx...
Iniciado por marcelf, 19,may. 2012 11:36 - 5 respuestas
Publicado el 19,mayo 2012 - 11:36
J'ai la nette impression que WIndev à un solide problème pour la lecture des
fichiers XLSX donc de 2010
je dois faire une importation mais d'un fichier de plus de 150.000 adresses

Je ne marque pas ici les variables
il me dit bien que le fichier existe //
SAI_FICHIER = ComplèteRep(MF_RepExe) + "\Import\" + "Adressenbasis.xlsx"

Voici mon code
SI fFichierExiste(sFichier) ALORS
iDFichierXLS = xlsOuvre(sFichier)
SI iDFichierXLS <> - 1 ALORS
resnbLignes est un entier = xlsNbLigne(iDFichierXLS)

Info(resnbLignes)

FIN
SINON
Info("Il n'existe pas ")
FIN

Il plante ou plutôt il reste calé à xlsNbligne, impossible qu'il me donne le
nombre de ligne

Est-ce que je me trompe
J'ai 16 Giga de Ram et je suis sous Windows 7 64 bits donc ce n'est pas un
problème de capacité d'ordinateurs.
Le fichier s'ouvrre bien avec Excel 2010 sans aucun problème
ou est le problème...
Est-ce que Windev est capable de lire des fichiers Excel 2010 ?
Merci de toute réponse
Miembro registrado
58 mensajes
Publicado el 19,mayo 2012 - 15:29
Bonjour,

Faites le test avec un fichier Excel 2010 de 10 lignes pour vérifier la comptabilité avec 2010, vous serez tout de suite fixé.

Clt
Miembro registrado
962 mensajes
Publicado el 21,mayo 2012 - 08:51
bonjour,
tout d'abord, j'ai plusieurs questions à te poser :
1 - Quelle taille fait ton fichier xlsx ?
2 - Combien de colonnes utilisées ?
3 - As-tu Microsoft Office installé sur ton poste ?
4 - N'utilises-tu ton fichier xlsx que pour la lecture d'informations ?
5 - Pourquoi n'utilises-tu pas ton fichier xlsx comme une base de données avec une connexion OLEDB excel ?
6 - As-tu essayé la syntaxe xlsouvre en utilisant un xlsdocument ?
(non non je ne suis pas de la police ;-) )
Il semblerait que la fonction xlsouvre ait la facheuse tendance à vouloir exploiter le fichier à ouvrir tout de suite si bien que sur des gros fichiers il peut y avoir des problèmes :
voir ici : http://forum.pcsoft.fr/thread.awp…
Sur mon poste avec un fichier à 4 colonnes, 149000 lignes et une taille de 2,2 Mo, j'arrive à lire le nombre de lignes avec ceci :
IdFicxls est un xlsDocument
MonFichier est une chaîne = "f:\montest.xlsx"

IdFicxls = xlsOuvre(MonFichier, xlsEcriture)
SI ErreurDétectée = Faux ALORS
Info(xlsNbLigne(IdFicxls))
SINON
Erreur("Attention ! Erreur !")
FIN
xlsFerme(IdFicxls)


Ami calmant, J.P ;-)
Publicado el 21,mayo 2012 - 09:32
Oui il lit bien..; des petits fichiers ... mais des gros
Il plante méchamment ou plutôt il ne fait rien du tout

VOici mon code en vitesse
il y a quatre lignes dans le fichier xlsx..; mais des gros fichiers il est
incapable de faire quoique ce soit...
je dois couper mon fichier en deux et en xls et pas xlsx il le lit ..; donc
pour moi cette fonction à un problème

sFichier est une chaîne = "c:\chiffres2.xlsx"
iDFichierXLS est un entier
SI fFichierExiste(sFichier) ALORS
iDFichierXLS = xlsOuvre(sFichier)
SI iDFichierXLS <> - 1 ALORS
resnbLignes est un entier = xlsNbLigne(iDFichierXLS)
FIN
SINON
Info(iDFichierXLS)
FIN

"Steph_du_13" a écrit dans le message de groupe de discussion :
49073c8dfa4c863df994c90593a5d89a@news.pcsoft...


Bonjour,

Faites le test avec un fichier Excel 2010 de 10 lignes pour vérifier la
comptabilité avec 2010, vous serez tout de suite fixé.

Clt
Publicado el 21,mayo 2012 - 10:26
tout d'abord merci Jurassic de t'intéresser à mon problème
Mon fichier fais 4 MB il y a +-150.000 enregistrements et une trentaine de
colonnes
J'ai bien Microsoft 2007 et 2010 ... j'ai installé deux une mise à jour
après de 2010 qui marche correctement ... et ce ne sont pas des versions
pirates avec licence et tout.
Je ne l'ouvre que pour la lecture et rien du tout
j'ai le même code que toi ... mais identiquement
J'ai suivi avec el débogueur il reste ... le sablier à la ligne
resnblignes... je l'ai laissé tourné une demi-heure.. comme on dit un petit
encas ... et toujours au sablier
J'ai bien 150.000 enregistrements et plus ou moins trente colonnes


le voici
sfichier est une chaine = .... et au départ

ComplèteRep(MF_RepExe) + "\Import\" + "anreden.xlsx"
puis je laisse choisir le fichier par le client ...
SI fFichierExiste(sFichier) ALORS
iDFichierXLS = xlsOuvre(sFichier)
SI iDFichierXLS <> - 1 ALORS
resnbLignes est un entier = xlsNbLigne(iDFichierXLS)
// ICi j'ai retiré mon code pour l'importation
Message("Civilité importée")
sinon
info(erreurinfo())
FIN
SINON
Info("Il n'existe pas ")
FIN


Un grand merci
bien à toi


"Jurassic Pork" a écrit dans le message de groupe de discussion :
cf9ebeac72804a59e377e840b2867455@news.pcsoft...


bonjour,
tout d'abord, j'ai plusieurs questions à te poser :
1 - Quelle taille fait ton fichier xlsx ?
2 - Combien de colonnes utilisées ?
3 - As-tu Microsoft Office installé sur ton poste ?
4 - N'utilises-tu ton fichier xlsx que pour la lecture d'informations ?
5 - Pourquoi n'utilises-tu pas ton fichier xlsx comme une base de données
avec une connexion OLEDB excel ?
6 - As-tu essayé la syntaxe xlsouvre en utilisant un xlsdocument ?
(non non je ne suis pas de la police ;-) )
Il semblerait que la fonction xlsouvre ait la facheuse tendance à vouloir
exploiter le fichier à ouvrir tout de suite si bien que sur des gros
fichiers il peut y avoir des problèmes :
voir ici :
http://forum.pcsoft.fr/thread.awp…
Sur mon poste avec un fichier à 4 colonnes, 149000 lignes et une taille de
2,2 Mo, j'arrive à lire le nombre de lignes avec ceci :
IdFicxls est un xlsDocument
MonFichier est une chaîne = "f:\montest.xlsx"

IdFicxls = xlsOuvre(MonFichier, xlsEcriture)
SI ErreurDétectée = Faux ALORS
Info(xlsNbLigne(IdFicxls))
SINON
Erreur("Attention ! Erreur !")
FIN
xlsFerme(IdFicxls)


Ami calmant, J.P ;-)
Publicado el 20,mayo 2019 - 18:28
Je pense que les fonctions . XLSX ont la même limite que le champ tableur soit 2 millions de cellules.
Ca va très vite!