Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Je cherche à savoir quel est le type d' OLE CONTROL à utiliser pour visualiser des fichiers CSV au niveau d' OLE CONTROL (le type EXCEL plante sur l'instruction OLE_1.objectdata = lb_document.
Merci d'avance
Hors ligne
Bonjour,
Merci de donner un retour sur une question qui semblait urgente ici : http://pbadonf.fr/forum/viewtopic.php?id=4264
Hors ligne
Bonjour,
Je ne vois pas l'utilité d'utiliser un OLE control. Tu peux visualiser directement un CSV dans une datawindow en utilisant la méthode ImportFile par exemple.
Hors ligne
Merci pour ta réponse , le fichier CSV existe dans une table DB2 (type BLOB), et la methode ImportFile permet de récupérer un fichier depuis le disque dur.
Hors ligne
Moi je cherche un afficher le contenu d'un fichier CSV recupéré depuis une table DB2 (type BLOB) au niveau d'un écran PB.
Mercvi d'avance
Hors ligne
buck a écrit:
Bonjour,
Je ne vois pas l'utilité d'utiliser un OLE control. Tu peux visualiser directement un CSV dans une datawindow en utilisant la méthode ImportFile par exemple.
D'autant plus qu'Excel à tendence à faire un peu ce qu'il veux des données à niveau de la visualisation.
Sur une donnée de type NIR pour lequel nous avons un champs uniquement numérique assez long on se retrouve avec 1,8209+E12 pour un homme né en septembre 82.
Le fait de remettre le format de cellule en format text ne suffit alors même pas pour remettre une visualisation correct de la donnée entière.
...bref Excel c'est le mal! Je suis donc du même avis que Buck.
Hors ligne
Tu peux enregistrer le blob dans un fichier temporaire et faire un importfile dans une dw.
Hors ligne
Merci beaucoup, c'est ce que je vais faire.
Hors ligne
Je sauvegarde le BLOB et je fait un IMPORTFILE mais ça n'affiche rien au niveau du datawindow.
Hors ligne
Qu'indique la valeur de retour lors de l'appel à ImportFile() ?
Hors ligne
La valeur de retour c'est 0 , mais il s'affiche rien sur la datawindow.
Est ce qu'i y a une autre fonction qu'il faut appeler après ImportFile () pour afficher le contenu du fichier CSV sur la datawindow?
Hors ligne
Pour info, j'utilise PB 7
Hors ligne
help a écrit:
Returns the number of rows that were imported if it succeeds and one of the following negative integers if an error occurs
retour 0 = 0 lignes importées. C'est cohérent avec une DW vide.
En regardant le fichier où le blob a été sauvé, est-ce que ça contient du csv valide ?
- non vide
- pas de problèmes d'encodage d'accents
- est-ce lisible avec un éditeur de texte ?
- est-ce qu'excel est capable d'afficher ce fichier ?
Edit:
Mohamed.zdeg a écrit:
Pour info, j'utilise PB 7
Je viens de comparer la doc PB11.5 et celle de PB7: là où PB11.5 supporte de faire un importfile() avec des données Texte, CSV, XML ou DBase, apparemment PB7 ne supporte que Ascii (texte), tab-delimited et DBase.
Il faudrait remplacer les virgules du fichier csv (csv = coma separated values) si c'est bien du csv standard par des tabulations et ça pourrait marcher (non testé)
Dernière modification par seki (08-05-2015 09:00:06)
Hors ligne
J'ai passé le test avec un simple fichier texte qui contient que des chiffres mais la fonction retourne toujours la valeur 0.
Hors ligne
Le fichier contenait quoi ?
Je viens de faire un petit test (en PB7), avec ce fichier (il y a 1 tab entre chaque donnée, contrairement à ce que l'affichage laisse penser ici)
DATA1 DATA2 DATA3 QWERTY 42 ASDF AZERTY 333 ZXCV
ça s'importe très bien dans une dw qui comporte 3 colonnes (string(250), number, string(10))
int r r=dw_tab.importfile('DATA.TXT',2) //2 pour commencer à partir de la ligne 2 (ignore les noms de colonnes) messagebox('import',string(r))
la messagebox indique bien 2 lignes importées
Dernière modification par seki (08-05-2015 11:29:05)
Hors ligne
Je passe le même test ( fichier que tu m'as donné + le code PB) la valeur de r est 0.
Hors ligne
J'arrive à récupérer mon CSV dans un OLE CONTROL mais j'ai un problème d'affichage (ça affiche 3,02018E+12 au lieu de 3020180193337).
Est ce qu'il y a la possibilité de changer le format des cellules de l'OLE CONTROL?
Hors ligne
Mohamed.zdeg a écrit:
Je passe le même test ( fichier que tu m'as donné + le code PB) la valeur de r est 0.
Il y a bien un objet datawindow rattaché au contrôle datawindow via la propriété dataobject ?
Lorsque je supprime le dataobject de la dw sur la fenêtre, ImportFile() retourne aussi un résultat 0 et la DW n'affiche rien.
Par contre si la DW n'a pas le même nombre de colonnes cela ne semble pas le gêner : les données sont tronquées.
Hors ligne
Oui, Lorsque j'ai crée une DWO et je l'ai rattaché à ma DW ça marche, la fonction ImportFile retourne le nombre des lignes mais sans aucune donnée affichée dans la DW au niveau de l'écran meme si je fais dw_1.retrieve ().
Hors ligne
Il n'y aurait pas un setredraw(false) quelque part ?
Hors ligne
C'est le retrieve qui fait le problème, J'ai enlevé le retrieve et ça marche bien et il faut aussi stocker le fichier avec l'extension (.txt).
Merci beaucoup pour votre aide.
Hors ligne