C# Export excel

Résolu
Charlingals1 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
 N -
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
A voir également:

5 réponses

Charlingals1 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   17
 
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);
11
N
 
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 ^^)
1
Charlingals1 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   17
 
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
0
Charlingals1 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   17
 
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.
0
eckson2
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Charlingals1
 
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
0