Bonjour,
Contexte : Visual Studio 2010, ASPNET, C#, Base SQL, FrameWork 3.5
je génére un fichier CSV à partir d'une DataTable et je l'envois par Email à l'utilisateur qui le demande. L'objectif est qu'il récupére les données avec Excel.
ça marche bien sauf que dans Excel , toutes les accents sont remplaçés par des caractéres du genre : é
Avec mes recherches j'ai appris que c'est un problème d'encodage mais je n'ai pas trouvé de solution qui marche ....
QQN aurait t'il la solution ?
voici ma fonction :
Merci d'avance pour vos réponses ...
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 public void ExporterUneDataTableEnCsv(DataTable LaTable, string Titre, string Chemin, string Email) { string LaLigne = string.Empty; string Route = Chemin + "Export.csv"; StreamWriter SW = new StreamWriter(@Route); LaLigne = Titre; SW.WriteLine(LaLigne, System.Text.Encoding.Default); LaLigne = "Fichier généré via le site intranet de l'ATASH le : " + DateTime.Now.ToString(); SW.WriteLine(LaLigne); LaLigne = " "; SW.WriteLine(LaLigne); LaLigne = string.Empty; //ENTETES DE COLONNES foreach (DataColumn Col in LaTable.Columns) { LaLigne = LaLigne + Col.Caption.ToString() + ";"; } SW.WriteLine(LaLigne); LaLigne = string.Empty; //GENERATION DES LIGNES DE DONNEES foreach (DataRow Lgn in LaTable.Rows) { foreach (DataColumn Col in LaTable.Columns) { LaLigne = LaLigne + Lgn[Col.ColumnName].ToString() + ";"; } SW.WriteLine(LaLigne); LaLigne = string.Empty; } SW.Close(); SW.Dispose(); //ENVOIS FICHIER EN PIECE JOINTE A L'UTILISATEUR EN COURS Emails Courrier = new Emails(); //string Sujet = DateTime.Now + " - Export données intranet"; string Sujet = DateTime.Now + " - " + Titre; string Message = "Email généré à votre demande par l'Intranet ATASH</BR>Voir le fichier CSV en pièce jointe"; Courrier.EnvoisMail(Email, Sujet, Message, Route); Courrier = null; } }
Patrick
Partager