* lecture Tous les noms de feuilles Excel et l'ajout de plusieurs feuilles dans simple jeu de données avec les noms de table en tant que noms de feuille *
« Les variables globales
Dim excelSheetNames As String()
Dim DtSet Comme System.Data.DataSet = New DataSet()
Private Sub btnLoadData_Click (sender ByVal comme System.Object, ByVal e As System.EventArgs) traite btnLoadData.Click
Dim MyConnection Comme OleDbConnection
Dim da Comme System.Data.OleDb.OleDbDataAdapter
Dim i As Integer
MyConnection = Nouveau System.Data.OleDb.OleDbConnection ("provider = Microsoft.Jet.OLEDB.4.0;
source de données = SStatus.xls; Propriétés étendues = "" Excel 8.0; HDR = NO; IMEX = 1 "" «)
« méthode suivante obtient tous les noms de feuille Excel dans le tableau gloabal excelSheetNames
GetExcelSheetNames ("SStatus.xls")
For Each str As String In excelSheetNames
da = New OleDbDataAdapter("select * from [" & str & "]", MyConnection)
da.Fill(DtSet, excelSheetNames(i))
i += 1
Next
DataGridView1.DataSource = DtSet.Tables(0)
End Sub
fonction publique GetExcelSheetNames (ByVal excelFileName As String)
Dim con As OleDbConnection = Nothing
Dim dt As DataTable = Nothing
Dim conStr As String = ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=") + excelFileName & ";Extended Properties=Excel 8.0;"
con = New OleDbConnection(conStr)
con.Open()
dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
excelSheetNames = New String(dt.Rows.Count - 1) {}
Dim i As Integer = 0
For Each row As DataRow In dt.Rows
excelSheetNames(i) = row("TABLE_NAME").ToString()
i += 1
Next
End Function