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:
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 ).
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 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
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.
Partager