Bonjour,
J'ai un projet sous VS 2008 dans lequel il y a une form avec une listview. Un bouton permet à l'utilisateur d'exporter les lignes de la listview au format csv.
Le traitement fonctionne bien pour un nombre de lignes faible mais est extrêmement lent quand le nombre de lignes augmente. Par exemple, j'ai lancé un test en local, sous VS 2088 avec plus de 20000 lignes. Au bout de 6 h, il a à peine écrit 10000 lignes.
Le code est le suivant :
Pouvez-vous m'aider ? Me donner des pistes ?
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 swFichierExport = New StreamWriter(strFichierTraitement, False, Encoding.UTF8) For intCompteur = 0 To ListView.CheckedItems.Count - 1 strLigne = String.Empty strLigne = ListView.CheckedItems(intCompteur).SubItems(0).Text ' On parcourt toutes les colonnes For intColonnes = 1 To 25 strLigne = strLigne & ";" & ListView.CheckedItems(intCompteur).SubItems(intColonnes).Text.Trim Next ' On écrit l'information swFichierExport.WriteLine(strLigne) swFichierExport.Flush() Application.DoEvents() Next
Merci.
Partager