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

C# Discussion :

fichier Excel et C#


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Points : 36
    Points
    36
    Par défaut fichier Excel et C#
    Bonjour,

    J'ai essayé ce code dans mon application qui créé un fichier excel
    , le remplit et l'envoie par mail.
    Le problème, est qui'il m'envoie l'erreur suivante:
    "Error 1 The type 'Microsoft.Office.Interop.Excel.ApplicationClass' has no constructors defined"
    pour la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft.Office.Interop.Excel.Application appExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
    voici le code du fichier 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
     
     using Microsoft.Office.Interop.Excel;
     object oMissing = System.Reflection.Missing.Value;
    object oFileName = @"c:\TonFichier.xls";
     
    Microsoft.Office.Interop.Excel.Application appExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
    Microsoft.Office.Interop.Excel._Workbook classeurTest = appExcel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
    Microsoft.Office.Interop.Excel._Worksheet feuilleTest = (Microsoft.Office.Interop.Excel._Worksheet)classeurTest.ActiveSheet;
     
     
    feuilleTest.Cells[1, 1] = "test";
    feuilleTest.Cells[1, 2] = "test1";
    feuilleTest.Cells[2, 1] = "test2";
     
    //Fermeture d'Excel
    classeurTest.Close(true, oFileName , oMissing); //true ou false pour sauvegarder
    feuilleTest = null;
    classeurTest = null;
    appExcel.Quit();
    appExcel = null;
    Pourquoi cette erreur?
    ApplicationClass n'a pas de constructeur par défaut?


    Merci d'avance de votre aide

  2. #2
    Membre actif Avatar de el_pedro
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 200
    Points : 236
    Points
    236
    Par défaut
    Je n'ai pas le même code de mon coté.

    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
    22
    23
    24
    25
    26
     
    //Initialisation
    private Microsoft.Office.Interop.Excel._Application docExcel;
    private Microsoft.Office.Interop.Excel._Workbook workbooksExcel;
    private Microsoft.Office.Interop.Excel._Worksheet worksheetExcel;
    docExcel = new Microsoft.Office.Interop.Excel.Application();
    docExcel.Visible = visible;
    docExcel.DisplayAlerts = false;
     
    //Ouverture
    workbooksExcel = docExcel.Workbooks.Open(@"C:\monFicher.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    worksheetExcel = (_Worksheet)workbooksExcel.ActiveSheet;
     
    //Ecriture
    ((Range)worksheetExcel.Cells["1", "A"]).Value2 = "aa";
    ((Range)worksheetExcel.Cells["1", "B"]).Value2 = "bb";
     
    //Fermeture
    workbooksExcel.Close(false, Type.Missing, Type.Missing);
                    docExcel.Application.DisplayAlerts = true;
                    docExcel.Application.Quit();
    while (System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheetExcel) != 0) { }
    while (System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooksExcel) != 0) { }
    while (System.Runtime.InteropServices.Marshal.ReleaseComObject(docExcel) != 0) { }
    GC.Collect();
    GC.WaitForPendingFinalizers();
    Je force le garbage collector à la fin pour bien fermer Excel.

    Ça marche du tonnerre chez moi.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Points : 36
    Points
    36
    Par défaut
    ok merci

    j'ai juste ajouté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbooksExcel.SaveCopyAs(@"D:\monFicher_save.xls");
    ;-)

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

Discussions similaires

  1. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53
  2. Enregistrement d'un fichier Excel par automation
    Par tiopan dans le forum Access
    Réponses: 2
    Dernier message: 04/12/2003, 19h57
  3. Sauvegarde fichier excel
    Par tiopan dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/10/2003, 13h36
  4. [Turbo Pascal] Utiliser un fichier Excel
    Par Lady dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 09/03/2003, 20h34
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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