[VS.NET 2003]
salut à tous !
J'essaye de lire des données d'une feuille particulière dans un fichier Excel.
Ce que je souhaite, c'est préciser un indice pour une feuille, et de pouvoir y accéder pour récupérer ses données. Donc je suis parvenu à cela:
Mais le soucis c'est qu'arrivé à la ligne
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Dim DS As System.Data.DataSet Dim FeuillesExcel As DataTable Dim Commande As System.Data.OleDb.OleDbDataAdapter Dim MyConnection As System.Data.OleDb.OleDbConnection Dim NomFeuille As String Dim IndiceFeuille As Integer = 1 Try MyConnection = New System.Data.OleDb.OleDbConnection( _ "provider=Microsoft.Jet.OLEDB.4.0; " & _ "data source=C:\Projets\Test\TestFichierXLS\bin\produits.xls; " & _ "Extended Properties=Excel 8.0;") FeuillesExcel = MyConnection.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"}) NomFeuille = "[" & FeuillesExcel.Rows(IndiceFeuille).Item ("TABLE_NAME").ToString() & "]" Commande = New System.Data.OleDb.OleDbDataAdapter( _ "select * from " & NomFeuille, MyConnection) DS = New System.Data.DataSet Commande.Fill(DS) Commande.FillSchema(DS, SchemaType.Mapped) DataGrid1.DataSource = DS Catch ex As Exception MsgBox(ex.Message) Finally If Not MyConnection Is Nothing Then MyConnection.Close() End If End Try
j'obtiens le message d'erreur suivant
FeuillesExcel = MyConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
Je ne vois pas ou est le malaise... quelqu'un a une idée ?Opération non valide. La connexion est fermée
D'avance merci
Juste pour préciser, j'ai essayé avec des fichiers d'Excel 2003 et 97, avec le même résultat.
Sur mon poste je dispose de Excel 2003.
Partager