renyone
Messages postés71Date d'inscriptionvendredi 9 mars 2007StatutMembreDernière intervention12 avril 2010
-
27 janv. 2009 à 15:05
renyone
Messages postés71Date d'inscriptionvendredi 9 mars 2007StatutMembreDernière intervention12 avril 2010
-
29 janv. 2009 à 11:26
Bonjour à tous.
Je vous explique mon problème: j'interroge un server exchange pou récupérer des pieces jointes dans des mails. Ces pieces jointes sont de tout type: xls, csv etc. La réponse est sous la forme de stream et il faut que j enregistre le stream au bon format.
Voici mon bout de code:
Stream sr = REPONDSEDUSERVER();
string sa = sr.ReadToEnd();
StreamWriter sw = new StreamWriter(@"C:toto.ext");
sw.Write(sa);
sw.Close();
Ca, ca marche que si ext est de type .txt ou .xml.
Comment enregistrer un stream dans un format tel csv ou xls dans ce cas ?
thristam
Messages postés23Date d'inscriptionmercredi 16 juillet 2003StatutMembreDernière intervention28 mars 2013 27 janv. 2009 à 17:26
Salut,
Pour le csv, je ne pense pas qu'il y ait une stream qui le lit directement. Il faut un peu coder . Tu lis ton csv comme un txt, et tu utilises la fonction Split() pour lire chaque "cellules" ( on utilisant le séparateur tab pour ce format, il me semble ).
Pour lire le xls, il faut que tu utilises la librairie Microsoft Excel Object. Pour cela il faut installer [ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vstcore/html/92948fcc-76c6-4b08-ba63-cab59dd60eb1.htm Office Primary Interop Assemblies]. Il se trouve que j'ai exactement le même problème que toi mais pour le .doc . Voici le lien du post. Merci de ne pas y poser des questions par rapport à ton post. Lis-le, suis-le ( pour Excel, bien sur ). Et repose-moi des questions dans ton post, j'y répondrai toujours car c en lien avec mon problème. J'ai déjà potassé ce problème de lecture xls depuis longtemps, ensemble on trouvera surement la solution.
renyone
Messages postés71Date d'inscriptionvendredi 9 mars 2007StatutMembreDernière intervention12 avril 20103 29 janv. 2009 à 11:26
Je sais pas si j ai bien compris ce que tu voulais dire. Mais ce que je fais c'est:
recuperation du stream (qui encode tout type de fichier: xls, csv, zip etc.) ==> je recupere tous ses bytes byte[] bytetab ==> j'ecris ces bytes dans un fichier avec la bonne extension (filename a la bonne extension. Dans mon cas j'ai l'adresse du fichier sur le server. Je sais qu'elle se termine par csv, j'ajoute .csv à mon filename) ==> mon fichier "filename" contient toutes mes données au bon format.