C# et Excel

Le
grisbouille
Bonjour,

J'aimerai, dans mon appli, creer un fichier Excel et pouvoir y insérer des
données d'un base de données.
Comment peut on faire, en sachant qu'Excel n'est pas installé sur le serveur
ou je vais déployer l'appli.

Par avance merci

Grisbouille
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12134871
Le Mon, 19 Nov 2007 20:46:59 +0100, grisbouille
Bonjour,

J'aimerai, dans mon appli, creer un fichier Excel et pouvoir y insérer
des
données d'un base de données.
Comment peut on faire, en sachant qu'Excel n'est pas installé sur le
serveur
ou je vais déployer l'appli.

Par avance merci

Grisbouille





Il me semble que c'est impossible a moins d'utiliser une librairie tiers...
Cependant si vous enregistrez un document excel au format 2007 (utilisable
sous 2007 et 2003 SP3), vous pouvez générer facilement un document Open
XML...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Sylvain
Le #12134681
Une solution simple, qui fonctionne depuis Office 2000 il me semble...

Générer un fichier HTML4 tout ce qu'il y a de plus standard, avec des bons
gros <table> comme on en faisait y'a 10 ans.
Avec les versions plus récentes d'Excel, on peut même utiliser des CSS.

Et au moment de l'enregistrement, utiliser l'extension XSL au lieu de HTM.
Excel, qui sait lire du HTML, car comprendre à l'ouverture qu'il doit faire
la transformation, et ça marche nickel chrome.

Pour les options (beaucoup) plus avancées, telles que mettre des formules,
modifier la présentation générale, faire plusieurs onglets, etc. c'est un
peu plus chaud.

Il faut utiliser le namespace HTML d'Excel, ainsi que du code HTML assez
spécifique.

=> Créer un fichier qui ressemble à ce qu'on voudra au final.
=> Enregistrer sous "document HTML" (y'a plusieurs choix, essaie différents
extracts, certains sont plus limités, d'autres sont plus complexes)
=> Bidouille la sortie afin de l'adaptée à ton programme qui va fournir les
données dynamiquement

Toujours via la même bidouille, renommer le fichier en *.xsl pour qu'Excel
l'ouvre, plutôt que IE.

Bon courrage. Autant on peut faire des trucs vraiment très poussés,
autant... faut pas avoir peur de faire crasher en flammes Excel 20 fois par
heure :D.

"Gilles TOURREAU" news:
Le Mon, 19 Nov 2007 20:46:59 +0100, grisbouille
Bonjour,

J'aimerai, dans mon appli, creer un fichier Excel et pouvoir y insérer
des
données d'un base de données.
Comment peut on faire, en sachant qu'Excel n'est pas installé sur le
serveur
ou je vais déployer l'appli.

Par avance merci

Grisbouille





Il me semble que c'est impossible a moins d'utiliser une librairie
tiers...
Cependant si vous enregistrez un document excel au format 2007 (utilisable
sous 2007 et 2003 SP3), vous pouvez générer facilement un document Open
XML...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


OD
Le #17364531
> J'aimerai, dans mon appli, creer un fichier Excel et pouvoir y insérer des
données d'un base de données.
Comment peut on faire, en sachant qu'Excel n'est pas installé sur le serveur
ou je vais déployer l'appli.



Utilise le Open XML SDK de MS, c'est une dll .net qui permet de
manipuler les fichiers d'Office. Cela concerne le nouveau format OOXML
mais il existe aussi un outil de conversion chez MS.

--

Olivi3r_____

Dot.Blog - C# LINQ VS ...
www.e-naxos.com/blog
Publicité
Poster une réponse
Anonyme