[VS2005] Probleme Encodage CSV pour Excel
Bonjour,
J'ai une procedure qui crée un fichier CSV à partir d'un objet System.Data.Datatable, dont un bout de code est le suivant :
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
| SW = New StreamWriter(FileName) 'SB_BUG:Lors de l'ouverture avec Excel, pb encodage (SYLK)
RaiseEvent StartProcess(_DataTable, New StepEvents(FileName, NombreDEtapes, 0, MesureDuree.ElapsedMilliseconds))
'
' Ecriture des noms des en-têtes
'
If FirstLineIsColumnName Then
Dim CSVLine As String = ""
For i As Integer = 0 To _DataTable.Columns.Count - 1
CSVLine = CSVLine & Separator & _DataTable.Columns(i).Caption
Next
SW.WriteLine(CSVLine.Substring(1))
End If
RaiseEvent NewStep(_DataTable, New StepEvents(FileName, NombreDEtapes, 1, MesureDuree.ElapsedMilliseconds))
'
' Ecriture des données
'
For j As Integer = 0 To _DataTable.Rows.Count - 1
Dim CSVLine As String = ""
For i As Integer = 0 To _DataTable.Rows(j).ItemArray.Length - 1
CSVLine = CSVLine & Separator & _DataTable.Rows(j).Item(i).ToString
Next
SW.WriteLine(CSVLine.Substring(1))
RaiseEvent NewStep(_DataTable, New StepEvents(FileName, NombreDEtapes, j + 1, MesureDuree.ElapsedMilliseconds))
Next
SW.Close() |
Le probleme est que lorsque j'ouvre le fichier CSV avec Excel, celui me dit :
Citation:
Excel a détecté que '[nom du fichier]' est un fichier SYLK, mais ne peut pas le charger. Le fichier contient des erreurs ou n'est pas un fichier au format SYLK. Cliquez sur OK pour essayer d'ouvrir le fichier dans un format différent.
Je click sur OK, Excel m'ouvre mon CSV, mais les accents son devenue des '@'. J'ai essayé de spécifié l'encoder lors de l'instanciation du StreamWriter mais sa n'a rien changer.
Code:
SW = New StreamWriter(FileName, True, New System.Text.UTF8Encoding)