Bonjour à tous,
je voudrais savoir comment en C# je peux lire un fichier excel de l'ouverture à la fermeture du fichier.
d'avance je vous remercie pour votre aide
Lemmings
Bonjour à tous,
je voudrais savoir comment en C# je peux lire un fichier excel de l'ouverture à la fermeture du fichier.
d'avance je vous remercie pour votre aide
Lemmings
Veux-tu réellement lire un fichier .xls ? ou piloter une appli Excel
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
en fait je voudrais lire un fichier excel pour pouvoir prendre les données qui sont dedans et pouvior les injecter dans un db.
Tu peux très bien dans ce cas utiliser ADO.Net, à l'aide de System.Data.OleDb et d'un DataSet
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
en fait je voudrais utiliser les vsto (quasi obligatoire pour le travail).
alors tu as fait un choix pas très judicieux avecEnvoyé par lemmings
Je t'ai donné la solution qui prends tout au plus 10 lignes de codesEnvoyé par lemmings
Maintenant si tu veux utiliser VSTO fait le pour de bonnes raisons c'est à dire le réel pilotage d'Office Word ou Excell pour créer des appli Word et Excell, sincèrement pour gérer des données c'est pas ce qui de plus indiqué
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
ok je vais voir comment faire avec un dataset.
Merci du conseil.
Lemmings
ceci est un exemple VB: Code : lecture de données Excel dans un groupe de données
si problème de traduction fais le savoir
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
Merci pour le code mais saurais-tu me filer un coup de main pour la traduction du vb vers C# ;-)
il me sort une erreur impossible de créer un fichier ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 DataSet ds = new DataSet(); string select = "select * from [Feuil1$]"; string connectionProvider = "provider=Microsoft.Jet.OLEDB.4.0;data source=C:\temp\toto.xls;Extended Properties=Excel 8.0;"; OleDbConnection ThisConnection = new OleDbConnection(connectionProvider); OleDbDataAdapter ThisCommand = new OleDbDataAdapter(select,ThisConnection); ThisCommand.Fill(ds); Console.WriteLine(ds.Tables[0].Rows[0].ToString()); Console.ReadLine(); ThisConnection.Close();
Merci
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 using System.Data; using System.Data.OleDb; //... //les constantes suivantes peuvent être stockées //dans le App.Config si besoin //bien sûr cela suppose que le fichier indiqué existe déjà string connectionProvider = "provider=Microsoft.Jet.OLEDB.4.0;data source=C:\temp\toto.xls;Extended Properties=Excel 8.0"; string select = "select * from [Feuil1$]"; DataSet ds; OleDbDataAdapter ThisCommand; try { ThisCommand= new OleDbDataAdapter(select, new OleDbConnection(connectionProvider)); ds = new DataSet(); ThisCommand.Fill(ds); //... } catch(Exception e) { //...gerer l'affichage de e.Message}
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
http://www.codeproject.com/useritems/Excel_Application_in_C_.asp
en suivant ton code j'ai une erreur au niveau duil me dit impossible de créer un fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ThisCommand.Fill(ds);
pourtant je suis admin de la machine
tu sais d'ou ca vient ? ;-)
Lemmings
j'ai trouvé il faut mettre un @ devant la connection string sinon ca passe pas a cause des caracteres speciaux.
Merci de votre aide a tous
Lemmings
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager