CRÉATION D'UN FICHIER EXCEL EN UTILISANT OPENXML

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 25 janv. 2007 à 23:48
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 7 juil. 2007 à 14:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41262-creation-d-un-fichier-excel-en-utilisant-openxml

cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
7 juil. 2007 à 14:53
Bonjour,

j'ai justement un problème pour mettre à jour une feuille de mon document Excel. Tous les fichier présents dans le package sont supprimés alors que je voudrait seulement écraser la feuille que je met à jour.
Voici le code que j'utilise pour sauvegarder le package :

Package pkgOutputDoc = Package.Open(fileName, FileMode.Create, FileAccess.ReadWrite);
Uri uri = new Uri(string.Format("/xl/worksheets/sheet{0}.xml", sheetNumber), UriKind.Relative);
PackagePart partSheetXml = pkgOutputDoc.CreatePart(uri, "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml");
StreamWriter streamStartPart = new StreamWriter(partSheetXml.GetStream(FileMode.Create, FileAccess.Write));
xmlStartPart.Save(streamStartPart);
streamStartPart.Close();
pkgOutputDoc.Flush();
pkgOutputDoc.CreateRelationship(uri, TargetMode.Internal,
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
"rId1");
pkgOutputDoc.Flush();
pkgOutputDoc.Close();

Avez-vous une idée du problème ?

merci d'avance.
tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 1
26 janv. 2007 à 07:32
Hello Cyril.

Cette source c'est vraiment la première brique d'un developpement que je suis en train de faire pour un client... et comme je l'ai dis, d'autres posts vonts suivre (et les résultats sont vraiment sympas, un peu de patience).
Pour ta pub, tu as bien raison : je l'avais faite sur mon blog concernant ce sujet : http://blogatik.com/blogs/tik/archive/2007/01/25/open-xml-package-explorer-le-couteau-suisse-pour-d-velopper-en-openxml.aspx (j'en profite pour faire la mienne ;-) ).

Bon code à tous
TiK
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 janv. 2007 à 23:48
Dans ton exemple tu montres comment créer un fichier xslx de A à Z, mais ce qui est réellement intéressant avec OpenXML et .net 3, c'est que tu peux modifier un fichier Excel 2007. Par exemple tu créer un document Excel bien formaté tout joli avec des graphiques, des formules complexes etc... et ensuite tu peux simplement utiliser ce template, modifier les données et envoyer le nouveau document au client. Il aura donc un vrai fichier excel tout propre avec graphique & co ...

On va me dire que je fais encore de la pub mais pour en savoir plus sur OpenXML vous pouvez regarder ces webcasts qui présente OpenXML pour les developpeurs : http://blogs.codes-sources.com/cyril/archive/2007/01/20/webcast-docx2html-et-openxml-disponible.aspx
Rejoignez-nous