Génération fichier csv problème accent
Bonjour,
Je souhaite, en cliquant sur un bouton, générer un fichier csv, avec le contenu d'un datatable, que l'utilisateur pourra ouvrir ou enregistrer. J'utilise la fonction suivante qui marche sauf pour les lettres accentuées :-( J'ai essayé différents charset mais rien ne fait... j'ai toujours é pour é par exemple...
Si vous avez des idées, je suis preneuse car je commence sérieusement à désepérer!
Merci d'avance!
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 34 35 36
| public static void ExportCSV(DataTable pDataTable)
{
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "text/csv";
HttpContext.Current.Response.Charset = "ISO-8859-1";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=exportCsv.csv");
StringBuilder sb = new StringBuilder();
//S'il y a des données
if(pDataTable.Columns.Count != 0)
{
//Ligne d'entêtes
foreach(DataColumn column in pDataTable.Columns)
{
sb.Append(column.ColumnName + ';');
}
//Retour à la ligne
sb.Append("\r\n");
//boucle sur les données
foreach(DataRow row in pDataTable.Rows)
{
//parcours des colonnes
foreach(DataColumn column in pDataTable.Columns)
{
sb.Append(row[column].ToString().Replace(Environment.NewLine,"[retour à la ligne]").Replace(";",",")+';');
}
//Retour à la ligne
sb.Append("\r\n");
}
}
HttpContext.Current.Response.Write(sb);
HttpContext.Current.Response.End();
} |