Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Futur Membre du Club Avatar de Louisa
    Profil pro
    Inscrit en
    mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : mai 2006
    Messages : 54
    Points : 16
    Points
    16

    Par défaut [ASP.NET 2.0][C#] Comment écrire dans un fichier Excel ?

    Bonjour,

    Je voudrai écrire dans un fichier Excel déjà existant et à la suite des données déjà présentes.

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : novembre 2003
    Messages : 120
    Points : 50
    Points
    50

    Par défaut

    Salut louisa,

    En C# on effectue cette opération de la façon suivante :

    Code :
    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
    27
    28
    29
     
    object oMissing = System.Reflection.Missing.Value;
    object oFileName = @"c:\TonFichier.xls";
     
    Excel.Application appExcel = new Excel.ApplicationClass();
    Excel._Workbook classeurTest = appExcel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
    Excel._Worksheet feuilleTest = (Excel._Worksheet)classeurTest.ActiveSheet;
     
    //Exemple d'utilisation de la propriété Range (Cells[row,column]) :
     
    Excel.Range aRange = feuilleTest.get_Range("d1", "d1"); 
    aRange.Value2 = "salut";
     
    //Ou encore comme ça :
     
    feuilleTest.get_Range("h2","h2").Value2 = "Ça marche";
     
    //Ou encore :
     
    feuilleTest.Cells[1, 1] = this.textBox1.Text;
    feuilleTest.Cells[1, 2] = this.textBox2.Text;
    feuilleTest.Cells[2, 1] = this.textBox3.Text;
     
    //Fermeture d'Excel
    classeurTest.Close(true, oFileName , oMissing); //true ou false pour sauvegarder
    feuilleTest = null;
    classeurTest = null;
    appExcel.Quit();
    appExcel = null;
    Voilà. Tu peux adapter ce code en ASP.Net facilement. Tu peux faire des tests pour vérifier s'il y a des données dans une cellule, etc.

    N'oublie pas d'ajouter une référence à l'interop d'Excel.

    J'espère que ça t'aidera.

    iDaaX

  3. #3
    Futur Membre du Club Avatar de Louisa
    Profil pro
    Inscrit en
    mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : mai 2006
    Messages : 54
    Points : 16
    Points
    16

    Par défaut

    Bonjour

    Je n'arrive pas à mettre la référence :
    Code :
    using Microsoft.Office.Interop.Excel
    il semble ne pas la connaitre en web .....

  4. #4
    Futur Membre du Club Avatar de Louisa
    Profil pro
    Inscrit en
    mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : mai 2006
    Messages : 54
    Points : 16
    Points
    16

    Par défaut

    J'ai trouvé ta référence au final , elle se télécharge sur cette page :
    http://www.microsoft.com/downloads/d...displaylang=en

    et d'ailleurs j'ai trouvé un article très bien sur le sujet :
    http://www.microsoft.com/france/msdn...ier-perso.mspx

    et cela dit cela reste du windows et non du web

    rrrrhhh !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : novembre 2003
    Messages : 120
    Points : 50
    Points
    50

    Par défaut

    Salut louisa,

    N'oublie pas ton tag [Résolu].

    iDaaX

  6. #6
    Futur Membre du Club Avatar de Louisa
    Profil pro
    Inscrit en
    mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : mai 2006
    Messages : 54
    Points : 16
    Points
    16

    Par défaut

    ben à vrai dire cela n'est pas résolu , vu que cela ne fonctionne pas en web (ASP.NET) et que c'est mon but.

  7. #7
    Invité de passage
    Inscrit en
    juin 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    En fait, pour utiliser cette référence, il faut que Excel soit installé sur le serveur sur lequel tourne ton appli web...

    Est-ce que c'est le cas ?

    Sinon, il existe une solution alternative :
    Les fichiers excel peuvent être construits comme des fichiers XML. Tu trouveras une bibliothèque permettant de générer des fichiers XML ici : http://www.carlosag.net/Tools/ExcelX...r/Default.aspx

    Par contre, ca serait sympa de mettre l'erreur exacte qu'il t'indique...

  8. #8
    Invité de passage
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2012
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Comment écrire dans un fichier Excel

    bonjour,

    votre code fonctionne bien mais mon problème c que je veux écrire dans un fichier qui existe déjà en gardant ça forme mais l'instruction

    Excel.Application appExcel = new Excel.ApplicationClass();

    ouvre nouveau fichier de qui écrase l’ancien fichier

  9. #9
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro Pascal
    Développeur .NET
    Inscrit en
    novembre 2006
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Nom : Homme Pascal
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2006
    Messages : 1 619
    Points : 2 632
    Points
    2 632

    Par défaut

    Plusieurs méthodes sont proposées dans la FAQ C# : Comment écrire dans un fichier Excel ?

    Utiliser l'automation Excel n'est pas performant et nécessite que Excel soit installé sur le serveur web, comme l'a indiqué CiXi2troy.
    Préférer ADO.NET, qui nécessite juste le pilote OleDb (installé par défaut sur les environnements Windows).

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •