PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Copie rapide du contenu d'une colonne xlsx ou csv
Copie rapide du contenu d'une colonne xlsx ou csv
Débuté par Paul M, 03 juin 2021 18:26 - 6 réponses
Membre enregistré
14 messages
Popularité : +2 (2 votes)
Posté le 03 juin 2021 - 18:26
Bonjour, je cherche à Tracer un graphique a partir d'un fichier csv
Pour l'instant mon graph (10 Série max) est basé sur un champ table non affiché, que je rempli par itération. mais cela est très long ( Jusqu'a 10000 donnée )
Comment optimiser cela, par exemple en copiant directement une colonne dans un tables par adressage ou quelque chose dans le genre.
Ou alors, peut être que je n'utilise pas la meilleur méthode, mais ce qui est sur c'est que je doit partir d'un fichier csv.
Si quelqu'un voit une meilleure méthode, je suis preneur !
Membre enregistré
3 883 messages
Popularité : +227 (347 votes)
Posté le 03 juin 2021 - 19:43
Bonjour,
Une solution est de créer une table temporaire qui à la même structure que ton csv via HDecritFichier/HDécritRubrique.
Il suffit alors de baser ton graphe sur cette table que tu auras alimenté via HImporteTexte.

--
Il y a peut être plus simple, mais, ça tourne
Posté le 03 juin 2021 - 22:12
a ma connaissance, la méthode la plus rapide :
1. charger le csv complet dans une chaine avec fchargetexte
2. boucler sur les lignes du csv avec extraitchaine sur le RC
3. dans la boucle, extraire JUSTE la colonne nécessaire avec un extraitchaine sur le séparateur de colonne
4. faire ce que tu veux de la donnée
Membre enregistré
14 messages
Popularité : +2 (2 votes)
Posté le 04 juin 2021 - 08:31
Merci pour vos réponses, je tenter de les mettre en œuvre

La seconde me semble plus envisageable pour mon utilisation, je reviens vers vous si j'ai un problème !
Membre enregistré
14 messages
Popularité : +2 (2 votes)
Posté le 04 juin 2021 - 16:22
La seconde méthode fonctionne merci ! ,
Cependant j'affiche le temps en abscisse, impossible d'obtenir un affichage des seconde et centieme :
exemple :
Dans mon fichier : 10:20:30:40
COL_TEMP est en heure et est bien remplie par :
TABLE_valeurGraph.AjouteLigne( ChaîneVersHeure( ExtraitChaîne(smonfichier,2,";"),"HH:MM:SS:CC")) , le format est le bon dans la table, ça fonctionne
Mais dans le graph, malgrés :
grNiveauTemporelMasque(GRF_Graphe, grntMillisecondes, "HH:MM:SS:CC")

j'obtiens uniquement qq chose comme "HH:MM", zoomer n'y faisant rien , vous sauriez comment procéder ?
Membre enregistré
3 883 messages
Popularité : +227 (347 votes)
Posté le 04 juin 2021 - 16:37
MM représente le mois, les minutes c'est mm

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
14 messages
Popularité : +2 (2 votes)
Posté le 15 juin 2021 - 16:26
Rebonjour, même avec grNiveauTemporelMasque(GRF_Graphe, grntMilliseconde, "HH:mm:SS:CC") cela ne fonctionne pas
Je n'arrive vraiment pas a changer le format d'affichage en abscisse alors que dans mon tableau j'ai bien : 11:39:57:00
impossible d'obtenir plus de précision.

j'ai essayer plusieurs formats mais sans succès (grNiveauTemporelMasque(GRF_Graphe, grntSeconde, "HH:mm:SS")...)