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
Merci d'avance
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
Partager