IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Excel piloter en C# sur serveur Windows 2003


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut Excel piloter en C# sur serveur Windows 2003
    Bonjour à tous,

    J'ai réalisé une application aspnet C# qui me permet de générer des classeurs Excel. Cela marche trés bien en local par contre j'ai quelque erreur une fois sur le serveur.

    J'ai bien sur installer un Office Excel sur mon serveur mais quand j'essaye de l'ouvrir a l'aide de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Excel AppliExcel = new Excel();
                    AppliExcel.OpenExcel();
    ma classe Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Microsoft.Office.Interop.Excel.Application oXL;
            Microsoft.Office.Interop.Excel._Workbook oWB;
            Microsoft.Office.Interop.Excel._Worksheet oSheet;
            Microsoft.Office.Interop.Excel.Range oRng;
     
            object M = System.Reflection.Missing.Value;
     
            public Excel() { 
     
            }
     
            public void OpenExcel()
            {
                //Start Excel and get Application object.
                oXL = new Microsoft.Office.Interop.Excel.Application();
                oXL.Visible = true;
     
                //Get a new workbook.
                oWB = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(System.Reflection.Missing.Value));
                oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oWB.ActiveSheet;
            }
    j'obtien l'erreur suivante :

    Server Error in '/GestionPlanning' Application.
    Mémoire insuffisante. Microsoft Office Excel ne peut plus ouvrir ou enregistrer de documents.

    • Pour augmenter la mémoire disponible, fermez les classeurs ou les programmes dont vous n'avez plus besoin.

    • Pour libérer de l'espace du disque sur lequel vous enregistrez, supprimez-en les fichiers dont vous n'avez plus besoin.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Runtime.InteropServices.COMException: Mémoire insuffisante. Microsoft Office Excel ne peut plus ouvrir ou enregistrer de documents.

    • Pour augmenter la mémoire disponible, fermez les classeurs ou les programmes dont vous n'avez plus besoin.

    • Pour libérer de l'espace du disque sur lequel vous enregistrez, supprimez-en les fichiers dont vous n'avez plus besoin.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [COMException (0x800a03ec): Mémoire insuffisante. Microsoft Office Excel ne peut plus ouvrir ou enregistrer de documents.

    • Pour augmenter la mémoire disponible, fermez les classeurs ou les programmes dont vous n'avez plus besoin.

    • Pour libérer de l'espace du disque sur lequel vous enregistrez, supprimez-en les fichiers dont vous n'avez plus besoin.]
    Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template) +0
    GestionPlanning.Web.Excel.OpenExcel() in ~~\GestionPlanning.Web\Excel.cs:34
    GestionPlanning.Web.GoExcel.Page_Load(Object sender, EventArgs e) in ~~\GestionPlanning.Web\GoExcel.aspx.cs:39
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
    System.Web.UI.Control.OnLoad(EventArgs e) +99
    System.Web.UI.Control.LoadRecursive() +50
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627


    Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053
    Pourtant il me reste bien de la place sur le disque de mon serveur (>10Go) et je n'est aucun programme qui tourne mise a part mon IIS. De plus il m'est tout a fait possible d'ouvrir Excel sur le serveur à l'aide du Bureau a distance . Une Idée ?

    Merci d'avance de votre aide, Cordialement MoZo

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 474
    Par défaut
    Je vous déconseille vivement de poursuivre sur cette voix.
    Vous essayez d'afficher une fenêtre (Excel) sur une machine, le serveur, n'ayant, très vraisemblablement, pas d'écran et encore moins de personne connectée.
    L'Excel que vous lancez est dans un environnement d'exécution qui n'a rien à voir avec celui utilisé pendant une connexion distante ou un session interactive.
    Vous n'avez, entre autre, même pas compte utilisateur attribué par défaut.

    De plus, Microsoft déconseille fermement d'installer le moindre composant d'Office sur un Serveur. Ces applications ne sont pas fait pour.

    Si votre problème est la génération de document Excel, il y a pléthore de moyen pour en faire, adapté à IIS (.NET3.0, MOSS etc.), surtout depuis les versions 2007.

  3. #3
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    +1

    Il y'a 4-5 ans, il n'y avait pas de plan B "abordable", maintenant, il commence à y avoir un nombre non négligeable d'alternatives...

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  4. #4
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Merci a vous deux pour ces réponses.

    Ils n'y a donc aucun moyen pour moi de parvenir a créer un fichier Excel sur le serveur de manière a permettre ensuite au client de le télécharger ? Ou bien de piloter le Excel du client (ce qui me semble plutôt impossible) ?

    Encore merci de votre aide, Cordialement MoZo

  5. #5
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Si le but est de générer un doc Excel, le mieux, c'est de passer par le generateur de classeurs au format XML de CarlosAG

    http://www.carlosag.net/Tools/ExcelX...Generator.aspx

    (il faut vraiment que je poste le petit wrapper que j'ai écrit pour ca...)

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  6. #6
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Merci a toi Philippe, c'est ce que j'était justement en train de regarder et ça n'a pas l'air bien compliqué. Reste que je me suis plutôt galérer (car c'est long) a générer mes fichier avec interop et que j'ai tout à recommencer !! Même si avec le générateur ça devrai être plutôt rapide.

    Encore merci, Cordialement MoZo

  7. #7
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    On a fait ca l'an dernier, pour que ca coute pas trop cheer, on a juste réécrit notre wrapper...mais bon, j'avais cassé les pieds au dev qui s'en occupait pour qu'il ecrive un wrapper au-dessus d'Excel, il a suffit de reecrire ce wrapper et 5% du code et tout marchait pareil

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  8. #8
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Bon ba en une heure j'ai quasiment tous réécrit, Merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ACC2003 SP3]PB Compactage base sur serveur Windows 2003
    Par LedZeppII dans le forum Contribuez
    Réponses: 1
    Dernier message: 08/07/2008, 12h55
  2. AVI, MP4, etc sur Serveur Windows 2003
    Par Orion34080 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 07/02/2008, 11h09
  3. xp familial + access sur serveur windows 2003
    Par popofpopof dans le forum Windows XP
    Réponses: 2
    Dernier message: 20/01/2008, 20h19
  4. Réponses: 1
    Dernier message: 04/08/2006, 12h31
  5. Réponses: 4
    Dernier message: 29/03/2006, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo