Aller au contenu


Excel en ASP.NET


  • Vous ne pouvez pas répondre à ce sujet
2 réponses à ce sujet

#1 dizzy_59

  • SUPINFO
  • 4 messages

Posté 23 décembre 2010 à 10:52

Salut,
j'ai un léger souci dans la conception d'une appli web en ASP.NET.
J'utilise les PIA Office.Interop.Excel pour générer un fichier xls sur le serveur qui est ensuite envoyé au client.
Ca marche "bien", mais cette méthode est interdite par le contrat de licence Microsoft et surtout j'ai un process EXCEL.EXE qui est créé pour chacun des téléchargements (de quoi surcharger le serveur très rapidement).
Donc, je cherche soit une méthode qui permet de générer un fichier XLS sans toutefois avoir un Excel d'installé sur le serveur (ça paraît chimérique je sais)
Ou alors un autre moyen quelconque d'envoyer un fichier Excel au client(autres que OpenXMl car ne s'étant pris en charge que par Office 2007), bref, la méthode la plus "courante"!
Merci d'avance.

#2 Ashura

  • SUPINFO
  • 68 messages

Posté 23 décembre 2010 à 11:34

Salut !

On m'avait conseillé d'utiliser epplus,
mais finalement mon tuteur avait décidé de procéder autrement, sans ficher Excel (peu pertinent dans le cas où l'on se trouvait).

Sinon, pour le processus EXCEL.EXE, tu peux essayer de voir si il en existe déjà un d'ouvert avec

Excel.Application oExcelApp;
oExcelApp =  (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");


et quitter l'application quand tu ne trouves plus de workbook d'ouvert ?

Jette un coup d'oeil sur cet article http://support.micro...om/kb/316126/fr.

Mais effectivement, Microsoft ne préconise pas l'installation et le pilotage d'Excel sur un serveur.
Peut-être que quelqu'un pourra donner une bonne méthode pour contourner ce problème, ça m'intéresse aussi !

Modifié par Ashura, 23 décembre 2010 à 11:35.


#3 Gaëtan

  • SUPINFO ★★★
  • 2 266 messages

Posté 23 décembre 2010 à 12:15

OpenXML SDK est ton ami ...
Ou sinon ya des libs payant qui le font très bien.
This posting is provided "AS IS" with no warranties, and confers no rights...