Bonjour

j'essai decopier un fichier xls dans un dataset
le problème la premiere rangée du fichier xls n'est pas copiée
j'ai nommé une feuille du classeur sheet1
et rempli de A1 à C3 avec des nombres donc 9 data

le code

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
37
38
39
40
41
42
43
44
45
46
47
48
49
 Imports System.Data.OleDb
    Private dr As New DataSet
    Private Connection As New OleDbConnection
    Private Sub Initdb2()
        Try
            Connection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" + "data source=E:\test.xls;Extended Properties=Excel 8.0;")
            Connection.Open()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
 
   Private Function GetDataFromExcel() As DataSet
        Dim sql As String
        Dim ObjetCommand As New OleDbCommand
        Dim da As OleDb.OleDbDataAdapter
        Dim ds As New DataSet
        Initdb2()
        sql = "select * from [sheet1$] "
        Try
            ObjetCommand = New OleDbCommand(sql)
            ObjetCommand.Connection() = Connection
            da = New OleDbDataAdapter(ObjetCommand)
            Connection.Close()
            da.Fill(ds, "Table")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Return ds
    End Function
 
  Private Sub CheckDataType()
 
        Dim r As DataRow
        Dim itemtypes As New List(Of String)
        For iterrow As Integer = 0 To dr.Tables("Table").Rows.Count - 1
            r = dr.Tables("Table").Rows(iterrow)
            For itercol As Integer = 0 To dr.Tables("Table").Columns.Count - 1
                itemtypes.Add(r(itercol).GetType.FullName)
            Next
        Next
       'le bug 
       ' itemtypes contient que 6 élements au lieu de 9 
    End Sub
 
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
         dr = GetDataFromExcel()
         CheckDataType()
end sub
Merci d'avance