Bonjour,
J'aimerai accéder à la valeur d'une cellule de mon fichier Excel (.xlsm).
Et au passage si quelqu'un à des tuto: un lien ou des pdf de cours, je suis preneur. Je n'ai rien trouvé sur le net.
Merci
Bonjour,
J'aimerai accéder à la valeur d'une cellule de mon fichier Excel (.xlsm).
Et au passage si quelqu'un à des tuto: un lien ou des pdf de cours, je suis preneur. Je n'ai rien trouvé sur le net.
Merci
Il y a une façon relativement simple via la dll fournit par Microsoft.
Un peu de doc ici, et un exemple :
Code C# : 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 using Microsoft.Office.Interop; [....] OpenFileDialog ofDialog = new OpenFileDialog(); ofDialog.Filter = "Excel 2003 Files (.xls)|*.xls"; Microsoft.Office.Interop.Excel.Application xlApp; Microsoft.Office.Interop.Excel.Workbook xlWorkbook; Microsoft.Office.Interop.Excel._Worksheet xlWorksheet; DialogResult dResult = ofDialog.ShowDialog(); if (true) { try { xlApp = new Microsoft.Office.Interop.Excel.Application(); xlWorkbook = xlApp.Workbooks.Open(ofDialog.FileName); xlWorksheet = xlWorkbook.Sheets[1]; Microsoft.Office.Interop.Excel.Range xlRange = xlWorksheet.UsedRange; int rowCount = xlRange.Rows.Count; int colCount = xlRange.Columns.Count; // Read the Excel file entirely List<String> labels = new List<String>(); for (int i = 0; i < rowCount; i++) { for (int j = 0; j < colCount; j++) { try { labels.Add(xlRange.Cells[i, j].Text); } catch (Exception) { } } } } catch (Exception ee) { System.Windows.Forms.MessageBox.Show(ee.Message); } }
Merci.
Où est ce que je rentre l'URL de mon fichier Excel? C'est dans ofDialog.Filter?
Dans ce cas là je mets ça:
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part ofDialog.Filter = "C:\\Users\\Ziad\\Documents\\Visual Studio 2010\\Projects\\PPE\\PlaceBourciere.xlsm";
Et aussi OpenFileDialog et DialogResult appartiennent bien à l'espace System.Windows.Forms? Quant je mets cet espace, une erreur est signalé. Windows est souligné en rouge et me dit qu'il n'existe pas dans l'espace de noms 'System'.
Dernière modification par Invité ; 08/02/2012 à 22h43.
J'utilise un OpenFileDialog comme "browser" depuis une application WPF.
Tu peux directement fourni un chemin vers ton fichier :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part xlWorkbook = xlApp.Workbooks.Open(@"C:\Temp\myExcel.xls");
Sinon, pour en revenir à la question initiale, oui, avec OLEDB tu peux accéder à Excel, et chaque onglet est vu comme une table différente.
Selon ce que tu veux faire, ça peut être beaucoup plus pratique ou largement moins qu'avec le module interopérabilité Microsoft.
A noter que OLEDB dispense d'avoir Office sur la machine pour travailler avec les fichiers Excel, alors qu'Interop impose d'avoir Office installé (qui plus est, dans une version donnée, figée)
http://www.connectionstrings.com/excel-2007
http://www.connectionstrings.com/excel
D'accord merci pour vos reponces.
Génial StringBuilder j'allais justement poster une question concernant le fait qu'Office soit installé ou pas.
À propos de ce sujet, le code de Er3van utilise bien le module d'interopérabilité de Microsoft? Et donc l'utilisateur de mon logiciel devra avoir Office :S.
N'y a t'il pas une autre solution que celle ci pour accéder à la cellule d'un classeur Excel?
Partager