Accueil > Forum > > > > Sauvegarde de stream dans un .csv, .xls...
Sauvegarde de stream dans un .csv, .xls...
mardi 27 janvier 2009 à 15:05:12 |
Sauvegarde de stream dans un .csv, .xls...

renyone
|
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 ? Merci d avance.
|
|
mardi 27 janvier 2009 à 17:26:17 |
Re : Sauvegarde de stream dans un .csv, .xls...

thristam
|
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 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.
|
|
mercredi 28 janvier 2009 à 15:30:22 |
Re : Sauvegarde de stream dans un .csv, .xls...

renyone
|
Réponse acceptée !
Salut! En fait j'ai tout simplement recopié bit à bit le stream dans un filestream local.
Stream stream = REPONSE DU SERVER; byte[] bytesTab = ReadFully(stream, 0); FileStream s = new FileStream(fileName, FileMode.Create); foreach (byte b in bytesTab) { s.WriteByte(b); } s.Close();
public static byte[] ReadFully(System.IO.Stream stream, int initialLength) { if (initialLength < 1) { initialLength = 32768; }
byte[] buffer = new byte[initialLength]; int read = 0;
int chunk; while ((chunk = stream.Read(buffer, read, buffer.Length - read)) > 0) { read += chunk;
if (read == buffer.Length) { int nextByte = stream.ReadByte();
// End of stream? If so, we're done if (nextByte == -1) { return buffer; }
byte[] newBuffer = new byte[buffer.Length * 2]; Array.Copy(buffer, newBuffer, buffer.Length); newBuffer[read] = (byte)nextByte; buffer = newBuffer; read++; } } byte[] ret = new byte[read]; Array.Copy(buffer, ret, read); return ret; }
Voili voilou. Je recupere tout type de format comme ca: csv, xls, zip etc. :)
|
|
mercredi 28 janvier 2009 à 16:52:50 |
Re : Sauvegarde de stream dans un .csv, .xls...

thristam
|
Tu récupères les csv, xls en binaire, d'accord. Mais comment tu vas les utiliser ? A un moment donné, il faudra les convertir en texte ?
|
|
jeudi 29 janvier 2009 à 11:26:33 |
Re : Sauvegarde de stream dans un .csv, .xls...

renyone
|
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.
|
|
Cette discussion est classée dans : xls, sauvegarde, stream, csv, pieces
Répondre à ce message
Sujets en rapport avec ce message
Conversion XLS en CSV C# [ par arofred ]
Bonjour, Je débute en DOT NET C# et je voudrais convertir un fichier excel en fichier CSV, quelqu'un peut il m'aider. Je sais le faire en php mais pas
Sauvegarde les donnees [ par emmanuel9 ]
Bonjour à tous, J'ai un programme et en fait quand on quitte ce programme ca déserialize une instance de la classe BDD (qui contient toutes les info
C# - System.Xml.Document: Comment sauvegarder les caractères spéciaux dans le fichier xml [ par smashingraph ]
Bonjour, J'ai un petit souci lors de la sauvegarde de mon fichier xml. J'utilises une instance de la classe System.Xml.Document. Je charges un docum
sauvegarde après changements dans fenêtre [ par nosil ]
Salut tout le monde.... Je pense que je poste ce sujet au mauvais endroit, mais je veux être sûre de recevoir une réponse. J'ai une fenêtre avec
Serialisation / deserialisation. [ par xakal ]
Bonjour a tous.grace aux codes et forum du site j'ai mis en place une serialisation et deserialisation.Le probleme que je ne comprend pas c'est que la
déserializer [ par catamenia ]
bonjour, J'enregistre des formes géométrique dans un fichier mais je n'arrive pas a savoir quand je charge le fichier a savoir si j'ai fini de deséria
Excel et CSV, petit pb pour sélectionner une plage dynamique [ par shoka ]
Voici mon problème (avec un screen s'il vous plait ! ) :http://img58.imageshack.us/img58/7708/pbxls5zw.jpgJ'aimerais, dans la cellule A1
Lecture fichier CSV : caractère é è ë ê à,... effacés [ par Stingray_fr_88 ]
je n'arrive pas à lire un fichier csv les caractères spéciaux disparaissent comme les é è ë ê à,... voici mon code : System.IO.StreamReader sr = Sys
"progressbar" mise en attente [ par cudenetf ]
bonsoir, Pour sauvegarder une base de données sur une clé usb, je fais une recherches des lecteurs disponibles en utilisant la classe system.managemen
[C#] Titre de colonnes xls [ par crawling5 ]
Bonjour, J'ai 2 petits problèmes avec une lecture de fichier xls. 1/ J'utilise une connection ODBC vers le fichier (imposé par mon maître de stage). O
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|