Problème lecture fichier csv sous windows XP
Bonjour à tous,
j'ai un problème sur lequel je me casse les dents depuis plusieurs jours. Je dois créer un programme qui lit un fichier csv et affiche les résultats dans un datagridview.
Le problème est mes lignes de codes sont fonctionnelles lorsque je teste le programme sous windows 7 et 8 mais le programme doit fonctionner sur des PC sous XP......et ça pas moyen de changer.
Sous windows 8, lorsque je lance mon programme, les données s'affichent bien dans le datagridview par colonne (77 au total) et avec le nombre de ligne correct, mais sous windows XP ça n'apparait que sur une seule colonne.
Pouvez-vous m'aider svp ? Je programme en vb.net.
Merci d'avance pour votre aide
Voici les lignes de codes:
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 32 33 34 35 36 37 38 39 40
| Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim dt As DataTable
'*** Read CSV to DataTable ***'
dt = CsvCreateDataTable("F:\", "ExportAnomalies2300.csv")
' verif(dt)
DataGridView2.DataSource = dt
'*** Insert to Database ***'
' InsertToDatabase(dt)
End Sub
'*** Convert CSV to DataTable ***'
Function CsvCreateDataTable(ByVal strPath, ByVal strFilesName) As DataTable
Dim objConn As New OleDbConnection
Dim dtAdapter As OleDbDataAdapter
Dim dt As New DataTable
Dim strConnString As String
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\;Extended Properties='TEXT;HDR=Yes;FMT=Delimited;Format=Delimited(,)'"
objConn = New OleDbConnection(strConnString)
objConn.Open()
Dim strSQL As String
strSQL = "SELECT * FROM " & strFilesName
dtAdapter = New OleDbDataAdapter(strSql, objConn)
dtAdapter.Fill(dt)
dtAdapter = Nothing
objConn.Close()
objConn = Nothing
Return dt '*** Return DataTable ***'
End Function |
Pour info, je charge le fichier dans un datagridview filtré car le traitement est beaucoup plus rapide que d'attendre le chargement dans une base access (le fichier csv comporte 80000 lignes environs ).
J'ai sinon crée un prog pour lancer directement l'import du fichier csv dans access, ce qui est très rapide mais ça implique que chaque poste qui utilise le programme est access installé et ce n'est pas possible.