Posez votre question Signaler

C# Export excel [Résolu]

Charlingals1 29Messages postés 5 mars 2007Date d'inscription - Dernière réponse le 1 déc. 2011 à 15:58
Bonjour,
Je suis entrain de dévelloppé une application pour effectué des statistiques, donc aprés la saisie des données, je doit exporté ces données vers Excel,
Pour cela je rempli un fichier Excel qui contient la structure des tableaux, j'écrie dans le fichier, tous ça fonctionne en local le fichier s'ouvre se créer et sa enregistre la copie,
Donc voila mon soucis j'ai mis l'appli sur un serveur, et la petit suprise, lorsque j'exporte le fichier sur un poste client, tout fonctionne bien sauf que le fichier n'est pas enregistrer, et s'ouvre sur le server.
Si quelqu'un à déjà eu se problème je suis preneur
Merci
Lire la suite 

C# Export excel »

6 réponses
Réponse
+8
moins plus
Bonjour

je vais m'auto-répondre,

j'ai réussis à corriger le probléme de l'exécution qui se fesait sur le server au lieu de se faire chez le client voici le code pour ce que sa intérrése



 xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
        xlApp.Visible = false;
        oBooks = xlApp.Workbooks;
        xlClasseur = oBooks.Add((object)filename);
        //xlClasseur = oBooks.Open((string)filename, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing);
        xlFeuill1 = (Microsoft.Office.Interop.Excel.Worksheet)xlClasseur.Worksheets[1];
        xlFeuill2 = (Microsoft.Office.Interop.Excel.Worksheet)xlClasseur.Worksheets[2];
        xlFeuill3 = (Microsoft.Office.Interop.Excel.Worksheet)xlClasseur.Worksheets[3];
        xlFeuill4 = (Microsoft.Office.Interop.Excel.Worksheet)xlClasseur.Worksheets[4];
        xlFeuill5 = (Microsoft.Office.Interop.Excel.Worksheet)xlClasseur.Worksheets[5];
        xlFeuill6 = (Microsoft.Office.Interop.Excel.Worksheet)xlClasseur.Worksheets[6];

//modification du fichier

//tableau1

  tableaucour.Tableau1(xlFeuill1, oDataSet);

        // Création du graphique 2
        // Répartition départementale du nombre de bénéficiaires par discipline

        tableaucour.Graphique1(xlFeuill2, oDataSet);

        // Création du tableau 3
        // Répartition du montant des aides départementales par discipline

        tableaucour.tableau2(xlFeuill3, oDataSet);

        // Création du tableau 4
        // Répartition départementale par âge toutes disciplines confondues

        tableaucour.tableau4(xlFeuill4, oDataSet);

        // Création du tableau 5
        // Nombre de bénéficiaires et montant des aides départementales par canton

        tableaucour.tableau5(xlFeuill5, oDataSet);

        // Création du tableau 6
        // Nombre d'enfants par canton et par commune

        tableaucour.tableau6(xlFeuill6, oDataSet);



        if (xlClasseur != null) xlClasseur.Close(true, (string)filename, Missing);

        if (xlFeuill1 != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlFeuill1);
        xlFeuill1 = null;
        if (xlFeuill2 != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlFeuill2);
        xlFeuill2 = null;
        if (xlFeuill3 != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlFeuill3);
        xlFeuill3 = null;
        if (xlFeuill4 != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlFeuill4);
        xlFeuill4 = null;
        if (xlFeuill5 != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlFeuill5);
        xlFeuill5 = null;
        if (xlFeuill6 != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlFeuill6);
        xlFeuill6 = null;

        if (xlClasseur != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlClasseur);
        xlClasseur = null;

        if (oBooks != null) System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks);
        oBooks = null;

        if (xlApp != null)
        {
            xlApp.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
            xlApp = null;
        }

        Response.Clear();
        Response.Charset = "iso-8859-1, windows-1252";
        Response.ContentType = "application/vnd.excel";
        Response.AddHeader("Content-Disposition", "inline; filename=MyReport.xls");
        Response.WriteFile((string)filename);
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

Mais maintenant j'ai un soucis comme vous pouvez le voir dans mon code j'utilise un modéle EXCEL, extention .xlt, et je ne voudrais pas que ce se fichier soit modifier. mais étant donné que je l'ouvre est que j'écrit dedans il demande à l'utilisateur s'il veut l'enregistre si je dis non sa plante, si je dis oui sa enregistre. Donc comment je peu faire pour lui dire de quitter sans enregistrer

Si quelqu'un à une réponse merci
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

Je m'auto répond encore une foi

pour régle le probléme j'enregistrer le modéle dans un fichier temp, que je supprime à chaque fois que l'exécution de l'exportation est faite

La supprésion et faite comme ca

File.Delete(filenametemp);


Donc sa ve dire que j'ouvre le modéle je le modifie, j'enregistre un nouveau fichier et j'axporte ce fichier

Si vous avec des question sur mon code n'hésiter pas.
eckson2 - 5 mai 2009 à 19:28
Salut Charlingals1,

Merci pour ton code que j'ai apprecié et qui repond à ce que j'ai comme probleme mais mon probleme est que je voudrais bien que tu me donnes la maniere dont tu crée le fichier temporaire, tu le modifie et le transfert vers le fichier normal en fait le processus..

Je te remercie d'avance
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

Je suis désolé mais j'ai plus le code sous la main et je ne me rappelle plus comment j'ai fait.

Si je retrouve je vous tient au courant

Cordialement
Ajouter un commentaire
Réponse
+0
moins plus
Franchement, j'ai jamais vu un post pareil ^^

Archétype du Dev : Tu trouve tout seul après t'être dis que t'avais besoin d'aide extérieure !

Merci, n'empêche, d'avoir le réflexe de t'auto-répondre. Si tout le monde fesait comme toi, il y aurai plein de problèmes de résolus sur Internet. (2009, mais c'est jamais trop tard ^^)
Ajouter un commentaire
Ce document intitulé « C# Export excel » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?