Tests :
Lorsque je lis (StreamReader) sans spécifier l'encodage à partir d'un fichier texte, les "é" ne passent pas (le caractère est supprimé : "Rfrence" au lieu de "Référence"). Lorsque j'ajoute à la chaine le caractère "\u00E9" et que j'affiche la chaine à l'aide d'un MessageBox.Show, j'ai bien un "é" à la fin de chaine.
Lorsque ensuite j'envoie la chaine sous Excel, j'ai donc "Rfrence" mais en fin de chaine j'ai "é" à la place de mon "é"..
Je vais continuer les tests, si vous avez une piste n'hésitez pas :)
Mon code de test est le suivant (le fichier "entete" est celui qui contient la chaine "Référence, Année,...", le fichier "MyFile" est celui qui sera affiché sous Excel) :
using(StreamReader sr = new StreamReader(@"C:\temp\entete.csv")) { chaine = sr.ReadToEnd(); chaine += "\u00E9"; MessageBox.Show(chaine); } using(StreamWriter sw = new StreamWriter(@"c:\temp\MyFile.csv", true)) { sw.WriteLine(chaine); } p = Process.Start("excel.exe", fileName);
|