PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Export vers Excel plante
Export vers Excel plante
Débuté par Roumeg, 24 jan. 2025 19:21 - 4 réponses
Membre enregistré
140 messages
Posté le 24 janvier 2025 - 19:21
Bonjour,

je fais suite à mon pb récurrent avec les fonctions excel du wlangage.
A partir d'un certaine volumétrie, cela plante.
J'ai un module qui me permet d'exporter des requetes SQL vers excel, et un client veut absolument du excel formaté. (c.a.D les dates au fmt date pour pouvoir ensuite utiliser les filtres dates)
Sauf que son fichier est devenu tellement gros que cela ne passe plus.
Bon jamais réussi à m'en sortir et je me disais qu'il me restait à essayer de passer par un fichier HF avec un HexporteXls.

Du coup mon besoin revenant, j'ai décidé de tenter l'essai.
là j'ai une requête renvoyant 600000 lignes; 90 MO à intégrer dans du powerbi..

Je génère à la volée un fichier HF. et je lit ma requête pour écrire dans ce fichier.
puis un HFexporteXls

Bon 1er problème écrire dans le fichiers HF a pris plus de 4 h. (déjà c'était pas crédible)
2e sur un test petit volume, on voit vite que l'extraction date en excel, c'est du texte (mais bon je m'en doutais)
3e le HfexporteXls plante en erreur interne.

Donc rideau le HF ! encore une désillusion
bon ce sera du csv et y'a pas d'autres solutions.
Membre enregistré
850 messages
Posté le 24 janvier 2025 - 19:28
Bonsoir,
Je ne sais pas si c'est concevable, mais un état avec export Excel peut-il encaisser un tel volume ?

ou un export sur plusieurs fichiers ???
Cdlt
Message modifié, 24 janvier 2025 - 19:58
Membre enregistré
3 547 messages
Posté le 24 janvier 2025 - 21:11
Le format de fichier .xls a une limite de 65 536 lignes dans chaque feuille,
tandis que le format de fichier .xlsx a une limite de 1 048 576 lignes par feuille.
https://support.microsoft.com/fr-fr/office/que-faire-si-un-jeu-de-donn%C3%A9es-est-trop-volumineux-pour-la-grille-excel-976e6a34-9756-48f4-828c-ca80b3d0e15c
Membre enregistré
850 messages
Posté le 24 janvier 2025 - 21:40
N'y aurait-il pas des données incompatibles ?
Je viens de refaire un essai, fichier HFSQL de 190 000 lignes, export HExporteXLS en quelques secondes, pas de souci de lecture avec Excel.

Cdlt
Posté le 31 janvier 2025 - 17:48
Cédric_34 a écrit :
N'y aurait-il pas des données incompatibles ?
Je viens de refaire un essai, fichier HFSQL de 190 000 lignes, export HExporteXLS en quelques secondes, pas de souci de lecture avec Excel.

Cdlt


super cette version en ligne du forum, j'avais répondu et je vois que ma réponse n'est pas passée ...

bon merci à tous de vos réponses.
non je n'ai pas de données incompatibles car si je scinde la requete cela passera en 2 fois par ex. C'est bien une limite mémoire des fonctions excel. Et je n'atteints normalement pas les limites du xlsx.

Bon ensuite je me suis résolu à travailler en csv, là j'arrivais avec un fsauvetexte à des temps beaucoup trop longs sur mes 600000 lignes. Même avec des fecritlignes, c'était trop long.
j'ai fini par trouver une solution très performante avec mysql. Je genère un fichier avec une select .. INTOFILE . Cela crée un fichier sur le serveur de base de données mais il faut ensuite brancher un serveur ftp sur ce serveur pour récupérer ce fichier et continuer avec.

Un peu compliqué, mais on parle alors d'une vingtaine de secondes pour générer ce fichier de 600000 lignes