[Résolu][Calc] Import d'un fichier CSV en ligne
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
spidle33
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 19 juil. 2010 09:44
[Résolu][Calc] Import d'un fichier CSV en ligne
Bonjour,
Je galère depuis de nombreux jours afin de trouver une solution à mon problème :
Contexte :
> J'ai un fichier CSV généré en ligne (via une page PHP, mais le format final est un fichier texte au format CSV).
> J'ai besoin d'importer ce fichier CSV dans une feuille de mon fichier CALC (première cellule renseignée en A2).
> Cet import doit pouvoir se faire à n'importe quel moment via un bouton
> Je précise que ma macro doit pouvoir fonctionner sur un MAC (pas d'utilisation d'internet explorer, solution que j'ai vu quelque part durant mes recherches).
Problème principal :
> je n'arrive pas à lire dans une macro en OOO Basic le contenu d'un fichier texte en ligne. Ca marche pour un fichier sur mon poste, mais pas sur un fichier distant (via SimpleFileAccess)
> J'ai donc cherché à faire d'abord une copie de mon CSV sur l'ordinateur, pour ensuite l'importer, mais je rencontre le même problème, les fonctions de copies ne fonctionnent pas pour un fichier distant.
Bref je suis bloqué et j'aurais besoin de votre aide.
Merci d'avance,
- spidle33 -
Je galère depuis de nombreux jours afin de trouver une solution à mon problème :
Contexte :
> J'ai un fichier CSV généré en ligne (via une page PHP, mais le format final est un fichier texte au format CSV).
> J'ai besoin d'importer ce fichier CSV dans une feuille de mon fichier CALC (première cellule renseignée en A2).
> Cet import doit pouvoir se faire à n'importe quel moment via un bouton
> Je précise que ma macro doit pouvoir fonctionner sur un MAC (pas d'utilisation d'internet explorer, solution que j'ai vu quelque part durant mes recherches).
Problème principal :
> je n'arrive pas à lire dans une macro en OOO Basic le contenu d'un fichier texte en ligne. Ca marche pour un fichier sur mon poste, mais pas sur un fichier distant (via SimpleFileAccess)
> J'ai donc cherché à faire d'abord une copie de mon CSV sur l'ordinateur, pour ensuite l'importer, mais je rencontre le même problème, les fonctions de copies ne fonctionnent pas pour un fichier distant.
Bref je suis bloqué et j'aurais besoin de votre aide.
Merci d'avance,
- spidle33 -
Dernière modification par spidle33 le 19 juil. 2010 18:08, modifié 1 fois.
OpenOffice 3.2 sous Windows XP
-
Dude
- IdOOle de la suite

- Messages : 26195
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Import d'un fichier CSV en ligne
Salut,
A part ça, si tu développes en PHP. Rien ne t'empêche de générer directement ton fichier au format ODS. Il existe des bibliothèques pour ça : http://user.services.openoffice.org/fr/ ... 26&t=13438

Problème sur la ligne 471 de ton code.spidle33 a écrit :je n'arrive pas à lire dans une macro en OOO Basic le contenu d'un fichier texte en ligne. Ca marche pour un fichier sur mon poste, mais pas sur un fichier distant (via SimpleFileAccess)
A part ça, si tu développes en PHP. Rien ne t'empêche de générer directement ton fichier au format ODS. Il existe des bibliothèques pour ça : http://user.services.openoffice.org/fr/ ... 26&t=13438
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
spidle33
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 19 juil. 2010 09:44
Re: [Calc] Import d'un fichier CSV en ligne
Bonjour,
Je peux poster mon code pour faire plaisir, mais c'est le même que partout. Je n'ai rien codé de plus puisque ça ne marche pas dans mon cas.
1. Lecture fichier
2. Copie de fichier (mais pas distant...)
Ces codes ne marche pas pour un fichier distant.
Encore merci pour ton aide.
- spidle33 -
Je peux poster mon code pour faire plaisir, mais c'est le même que partout. Je n'ai rien codé de plus puisque ça ne marche pas dans mon cas.
1. Lecture fichier
Code : Tout sélectionner
Sub LireFichierTexte
Dim Ligne As String
Dim Fichier As String
Fichier = "C:\test.csv" ' Ne marche pas si remplacé par http://www.exemple.com/test.csv
Open Fichier For Input As #1
'--- Boucle sur les lignes du fichier
Do While Not EOF(1)
Line Input #1, Ligne
Msgbox Ligne
Loop
Close #1
End SubCode : Tout sélectionner
Sub CopierFichier
Dim Source As String , Destination As String
Dim oSFA As Object
Source = ConvertToUrl("C:\test.csv") ' Ne marche pas si remplacé par http://www.exemple.com/test.csv
Destination = ConvertToUrl("C:\test2.csv")
oSFA = createUNOService ("com.sun.star.ucb.SimpleFileAccess")
oSFA.copy(Source, Destination)
End SubEn fait ce n'est pas possible, car le fichier CALC est utilisé par la personne régulièrement. Le fichier PHP ne fait office que de source de données.Dude a écrit :A part ça, si tu développes en PHP. Rien ne t'empêche de générer directement ton fichier au format ODS. Il existe des bibliothèques pour ça : http://user.services.openoffice.org/fr/ ... 26&t=13438
Encore merci pour ton aide.
- spidle33 -
Dernière modification par spidle33 le 19 juil. 2010 15:19, modifié 1 fois.
OpenOffice 3.2 sous Windows XP
-
Dude
- IdOOle de la suite

- Messages : 26195
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Import d'un fichier CSV en ligne
Euh, je ne vois pas d'URL distante dans ton code. Tu ne fais que de la copie en local.
Ce code fonctionne pour moi.
Bien sûr, le FTP est bidon.
Ce code fonctionne pour moi.
Code : Tout sélectionner
Sub CopieDepuisFTP
oSFA = createUNOService ("com.sun.star.ucb.SimpleFileAccess")
sSourceUrl = "ftp://site_ftp.fr/fichier.csv"
sDestUrl = ConvertToUrl("C:\fichier_recupere.csv")
oSFA.copy(sSourceUrl, sDestUrl)
End Sub Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
spidle33
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 19 juil. 2010 09:44
Re: [Calc] Import d'un fichier CSV en ligne
Effectivement, je n'ai pas précisé le protocole.
Et est-ce qu'une copie en protocole http (vu que j'execute du PHP) fonctionne pour toi ?
Et est-ce qu'une copie en protocole http (vu que j'execute du PHP) fonctionne pour toi ?
OpenOffice 3.2 sous Windows XP
-
Dude
- IdOOle de la suite

- Messages : 26195
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Import d'un fichier CSV en ligne
Je ne vois pas le rapport entre PHP et le protocole HTTP. Mais oui, le code fonctionne également. Si je remplace :spidle33 a écrit :Et est-ce qu'une copie en protocole http (vu que j'execute du PHP) fonctionne pour toi ?
Code : Tout sélectionner
sSourceUrl = "http://oooforum.free.fr/license.txt"Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
spidle33
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 19 juil. 2010 09:44
Re: [Calc] Import d'un fichier CSV en ligne
Ta réponse m'a bien surpris.
Du coup j'ai modifié mon script PHP de place, et cette fois-ci ça a fonctionné.
Je me demande si ce n'est pas lié au htaccess du site ou quelque chose du genre.
Je n'ai pas une solution précise à mon problème, mais du coup, ça devient possible de poursuivre !!!
Merci, à défaut de solution, de m'avoir montré que le problème ne venait pas du fait que le fichier soit en ligne
- spidle33 -
Du coup j'ai modifié mon script PHP de place, et cette fois-ci ça a fonctionné.
Je me demande si ce n'est pas lié au htaccess du site ou quelque chose du genre.
Je n'ai pas une solution précise à mon problème, mais du coup, ça devient possible de poursuivre !!!
Merci, à défaut de solution, de m'avoir montré que le problème ne venait pas du fait que le fichier soit en ligne
- spidle33 -
OpenOffice 3.2 sous Windows XP
-
Dude
- IdOOle de la suite

- Messages : 26195
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Import d'un fichier CSV en ligne
Comprendre ce qu'est un .htaccess sur un serveur Apache.spidle33 a écrit :Je me demande si ce n'est pas lié au htaccess du site ou quelque chose du genre.
Hum, d'où l'intérêt de passer par FTP qui est un protocole dédié au transfert de fichier. Passer par HTTP, c'est comme vouloir visser avec un marteau.spidle33 a écrit :Merci, à défaut de solution
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
spidle33
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 19 juil. 2010 09:44
Re: [Résolu][Calc] Import d'un fichier CSV en ligne
Salut Dude,
Merci de ton commentaire, mais pour ma problématique fonctionnelle, le HTTP est de manière certaine le meilleur protocole
Merci de ton commentaire, mais pour ma problématique fonctionnelle, le HTTP est de manière certaine le meilleur protocole
OpenOffice 3.2 sous Windows XP