Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données
Accès aux données Forum d'entraide sur les technologies d'accès aux données de Microsoft (ADO.NET, Linq, Entity Framework, etc.).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/11/2006, 10h08   #1
Louisa
Futur Membre du Club
 
Avatar de Louisa
 
Inscription : mai 2006
Messages : 54
Détails du profil
Informations personnelles :
Âge : 30
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
Louisa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 14h44   #2
iDaaX
Membre du Club
 
Inscription : novembre 2003
Messages : 120
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2003
Messages : 120
Points : 50
Points : 50
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
iDaaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 14h57   #3
Louisa
Futur Membre du Club
 
Avatar de Louisa
 
Inscription : mai 2006
Messages : 54
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Hérault (Languedoc Roussillon)

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

Je n'arrive pas à mettre la référence :
Code :
using Microsoft.Office.Interop.Excel
il semble ne pas la connaitre en web .....
Louisa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 16h30   #4
Louisa
Futur Membre du Club
 
Avatar de Louisa
 
Inscription : mai 2006
Messages : 54
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2006
Messages : 54
Points : 16
Points : 16
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 !
Louisa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 23h04   #5
iDaaX
Membre du Club
 
Inscription : novembre 2003
Messages : 120
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2003
Messages : 120
Points : 50
Points : 50
Salut louisa,

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

iDaaX
iDaaX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2006, 08h22   #6
Louisa
Futur Membre du Club
 
Avatar de Louisa
 
Inscription : mai 2006
Messages : 54
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2006
Messages : 54
Points : 16
Points : 16
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.
Louisa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2006, 17h36   #7
CiXi2troy
Invité de passage
 
Inscription : juin 2005
Messages : 1
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 1
Points : 1
Points : 1
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...
CiXi2troy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2012, 15h06   #8
aminenadori
Invité de passage
 
Homme
Administrateur de base de données
Inscription : 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
aminenadori est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2012, 18h43   #9
Skalp
Rédacteur/Modérateur
 
Avatar de Skalp
 
Homme Pascal
Développeur .NET
Inscription : novembre 2006
Messages : 1 594
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 594
Points : 2 957
Points : 2 957
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).
Skalp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h58.


 
 
 
 
Partenaires

Hébergement Web