Bonsoir
Avec visual studio 2019, j'essaie de savoir si une valeur donnée est présente dans une colonne Excel
Je commence par déclarer mes objets
Une autre procédure les initialise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Microsoft.Office.Interop.Excel.Workbook xlBook; Microsoft.Office.Interop.Excel.Application xlApp; Microsoft.Office.Interop.Excel.Worksheet xlSheet;
Jusque là tout va bien!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // récupération du fichier à lire OpenFileDialog frm = new OpenFileDialog(); if (frm.ShowDialog() == DialogResult.OK) { xlApp = new Microsoft.Office.Interop.Excel.Application(); { xlBook = xlApp.Workbooks.Open(frm.FileName); // Récupération de la feuille à lire xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlBook.Worksheets.get_Item(Le_Numero_De_Ma_Feuille); }
Quand une autre procédure essaie de lire le fichier excel
strReaden me renvoie la valeur: System.__ComObject, pour toutes les cellules ce qui n'est pas du tout ce que je cherche !!!
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 private bool this_VerifyAnalytAccount(string strToFind) { bool bFound = false; string strReaden; for (uint iRowReaden = 1; iRowReaden < 65; iRowReaden++) { strReaden = xlSheet.Cells[iRowReaden, 1].ToString(); if (strReaden == strToFind) { // Le code est trouvé. bFound = true; iRowReaden = 65; } } return(bFound); }
et pourtant quand j'écris dans un fichier excel j'utilise la syntaxe
Je pense que pour lire une valeur la syntaxe est différente, mais je n'ai pas trouvé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xlSheet.Cells[ligne, colonne] = "machaine";
Merci
Partager