Excel server

Soyez le premier à donner votre avis sur cette source.

Vue 6 261 fois - Téléchargée 461 fois

Description

Qui n a pas rencontré ce problème d'Excel qui ne se termine pas correctement ?

Ce projet a pour but de piloter efficacement Excel, en réduisant les risques que les processus ne se terminent pas correctement, et en proposant des fonctions réutilisables par tous les projets.

Il est important de passer par cette bibliothèque pour terminer les processus Excel.exe proprement. Ceci est particulièrement valable dans le cas de projets web, car on utilise une sémaphore qui nous permet de connaître avec certitude l id du process créé.

Source / Exemple :


// Code client :

using (ExcelServer excelServer = new ExcelServer(ExcelServerLib.ExcelServer.Environement.Exe))
{
    Excel.Application xlApp = excelServer.XlApp;
    // ...do something with xlApp	
} // here the process is closed and killed

// Dans vos projets, je vous conseille d'utiliser une classe intermédiaire, par exemple ExcelInterop, qui contiendra toutes vos fonctions métiers. Cette classe héritera de ExcelServer, et utilisera son constructeur, qui prend en paramètre le type d’environnement  
public class ExcelInterop : ExcelServer
{
   public ExcelInterop(): base(Environement.Exe)
   {}

   // ici les fonctions métiers
}

Conclusion :


Pour utiliser ce projet, rajoutez une référence au projet ou à la dll, ainsi que le namespace :

using ExcelServerLib;

Remarque 1:
Dans le cas où votre classe ExcelInterop n'hérite pas de ExcelServer (cela peut s'avérer dans un projet existant), il faut penser à appeler la méthode excelServer.Dispose() pour fermer Excel.

Remarque 2:
Dans le constructeur, utiliser Environement.Exe pour une application de type exécutable, et Environement.Web pour une application web. Ce n'est pas le même code qui est utilisé pour créer ou killer Excel suivant l environnement.

Remarque 3:
Dans un projet exécutable, l application est normalement fermée correctement lors du vidage du Garbage Collector (si vous faites attention à bien nettoyer toutes vos variables qui pointent sur Excel).

Remarque 4:
Excel n'est pas une science exacte. Il est très fortement déconseillé de l utiliser dans vos programmes. Il n y a qu'avec Excel Server 2008 que vous aurez un code stable.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

TheOnlyMaX
Messages postés
37
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
26 avril 2010
-
J'utilise ce code avec Excel 2003. Je n'ai pas essayé avec d'autres versions.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.