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 :
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
Pouvez-vous m'aider ? Me donner des pistes ?
Merci.