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
WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui l'ont sagement suivi. Je profite de ce poste pour fai...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|