2009-06-08 7 views
3

Avec Excel 2003 et supérieur, il est possible d'utiliser le format SpreadsheetML pour générer des feuilles de calcul Excel avec juste une feuille de style XML et un fichier de données XML. Je l'ai utilisé dans certains projets et fonctionne assez bien, même si ce n'est pas facile à faire. Depuis le site de téléchargement Microsoft, j'ai téléchargé les XSD qui composent SpreadsheetML et dans mon ignorance, j'ai essayé de les convertir en classes C#. Malheureusement, xsd.exe n'est pas très content de ces fichiers de schéma, donc j'ai tendance à être bloqué. Je n'ai pas besoin d'une solution alternative à SpreadsheetML, car cela fonctionne bien pour mes besoins. C'est juste que mon code serait un peu plus facile à gérer pour les membres de mon équipe si ce n'est pas écrit dans une feuille de style complexe. (Je crains d'être le seul expert XSLT de votre société.)Création d'une SpreadsheetML Excel dans le code. (Sans Excel!)

Tout ce que je veux savoir si quelqu'un a réussi à créer des fichiers Excel SpreadsheetML avec .NET sans utiliser de code tiers et sans XSLT. Et si vous le faites, comment avez-vous résolu cela?

(Ou peut-être que je viens de découvrir comment ajouter des espaces de noms aux éléments XML dans XML.Linq ...)

+0

Ne pouvez-vous pas faire cela avec COM? Je me demandais juste. – jgallant

+0

Eh bien, le code fait partie d'un serveur web et il n'y a pas d'Office installé sur ce serveur web, et ils n'installeront jamais Office ou Excel sur ce service web. Btw, en utilisant XSLT fonctionne très bien et crée le résultat que je veux. Mais puisque je suis le seul expert XSLT de mon entreprise, j'aimerais proposer une solution que les autres membres de l'équipe peuvent comprendre. –

Répondre

1

Il y a quelque temps je XmlDocument et les amis pour créer un document SpreadsheetML avec des formules, formats et ainsi de suite, il est donc possible si un peu Checklist.

Cette MSDN page est ce dont vous avez besoin pour commencer à utiliser l'espace de noms dans LINQ.

+0

Et c'est exactement ce que je cherchais! :-) Au moins, les membres de mon équipe ont plus d'expérience avec C# qu'avec XSLT, peu importe que ça devienne un peu fastidieux. –

+0

Heureux d'être de l'aide :) – Ant

0

J'avais commencé sur un problème similaire quelques semaines, mais en raison de certains problèmes imminents je a dû le mettre à l'arrière du brûleur.

À l'époque je faisais référence à ce http://www.codeproject.com/KB/aspnet/ExportClassLibrary.aspx?fid=113399&df=90&mpp=25&sort=Position&tid=2609600

Je ne pouvais vraiment pas commencer à utiliser mais plan pour se remettre sur bientôt. J'espère que le lien aide.

acclamations

+0

Malheureusement, la feuille de calcul que je génère est plus qu'une simple liste de données converties en Excel. Il contient plusieurs formules et un formatage que l'utilisateur peut utiliser immédiatement après le téléchargement. Son seul but est un moyen facile pour les utilisateurs de valider les données sur le serveur. Les mêmes données sont également servies via un service Web à une application cliente. C'est juste que la feuille Excel est plus facile à valider. –

1

J'ai utilisé cette bibliothèque et il existe même un outil pour générer le code C# dont vous avez besoin à partir d'un fichier Excel existant. http://www.carlosag.net/Tools/ExcelXmlWriter/

+0

Intéressant, malheureusement le code tiers. Toujours, bon conseil! +1 –