CRÉATION D'UN FICHIER EXCEL EN UTILISANT OPENXML

Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
- - Dernière réponse : cs_mathmax
Messages postés
404
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
404
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
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 -
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
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
17 -
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