Connexion Excel probleme ISAM
Bonjour à tous,
Je dois scanner un grand nombre de fichier pour les recuperer et mettre dans une base de données d'un projet, et afin de gagner du temps à l'acces des fichier j'ouvre une connexion , plutot qu'interop.
Code:
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
| Dim NCONTRAT As String
Dim VERSION As String
'Comptage du nombre de ligne a creer dans le Gridview 2 ( identique à celui du premier )
Dim COMPT As Integer = Convert.ToInt16(DataGridView1.Rows.Count) ' récupèretion du nombre de Ligne
' la Boucle de récupération par fichier
For X As Integer = 0 To COMPT - 1
Dim CHEMIN As String = Convert.ToString(DataGridView1.Rows(X).Cells(6).Value)
'CHEMIN = "'" & CHEMIN & "'"
' Connexion fichier excel sans ouverture et recuperation de la feuille saisie dans une table d'un Datatset1
Dim MYCONNECTION As System.Data.OleDb.OleDbConnection
Dim MYCOMMAND As System.Data.OleDb.OleDbDataAdapter
MYCONNECTION = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CHEMIN & ";Extended Properties=Excel 8.0;")
MYCOMMAND = New System.Data.OleDb.OleDbDataAdapter("select * from [Saisie$]", MYCONNECTION)
MYCONNECTION.Open()
MYCOMMAND.Fill(DATASET1)
MYCONNECTION.Close()
'Detection si le fichier est de la nouvelle ou ancienne version
VERSION = Convert.ToString(DATASET1.Tables(0).Rows(17).Item(35))
VERSION = VERSION.Substring(0, 7)
If Not VERSION = "version" Then
NCONTRAT = Convert.ToString(DATASET1.Tables(0).Rows(0).Item(30))
End If |
Si j'écris Ainsi cela fonctionne. Mais le problème est que la premiere ligne du fichier est integrée dans le columnheader de la table.
Donc je voulais ajouter à la connexion HDR=NO
Code:
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
| 'Déclaration des variables de transfert
Dim NCONTRAT As String
Dim VERSION As String
'Comptage du nombre de ligne a creer dans le Gridview 2 ( identique à celui du premier )
Dim COMPT As Integer = Convert.ToInt16(DataGridView1.Rows.Count) ' récupèretion du nombre de Ligne
' la Boucle de récupération par fichier
For X As Integer = 0 To COMPT - 1
Dim CHEMIN As String = Convert.ToString(DataGridView1.Rows(X).Cells(6).Value)
'CHEMIN = "'" & CHEMIN & "'"
' Connexion fichier excel sans ouverture et recuperation de la feuille saisie dans une table d'un Datatset1
Dim MYCONNECTION As System.Data.OleDb.OleDbConnection
Dim MYCOMMAND As System.Data.OleDb.OleDbDataAdapter
MYCONNECTION = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CHEMIN & ";Extended Properties=Excel 8.0;HDR=NO")
MYCOMMAND = New System.Data.OleDb.OleDbDataAdapter("select * from [Saisie$]", MYCONNECTION)
MYCONNECTION.Open()
MYCOMMAND.Fill(DATASET1)
MYCONNECTION.Close()
'Detection si le fichier est de la nouvelle ou ancienne version
VERSION = Convert.ToString(DATASET1.Tables(0).Rows(17).Item(35))
VERSION = VERSION.Substring(0, 7)
If Not VERSION = "version" Then
NCONTRAT = Convert.ToString(DATASET1.Tables(0).Rows(0).Item(30))
End If |
ET la j'ai un erreur pilote ISAM manquant ???????
Une idée?