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 :Le probleme est que lorsque j'ouvre le fichier CSV avec Excel, celui me dit :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()
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.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.
Code:SW = New StreamWriter(FileName, True, New System.Text.UTF8Encoding)