Экспорт данных из DataGrid в Excel с указанием кодировки - C#

Узнай цену своей работы

Формулировка задачи:

Доброе всем утро! Экспортирую данные из DataGrid в Excel таким образом:
dataGrid1.SelectAllCells();
                dataGrid1.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader;
                ApplicationCommands.Copy.Execute(null, dataGrid1);
                String resultat = (string)Clipboard.GetData(DataFormats.CommaSeparatedValue);
                String result = (string)Clipboard.GetData(DataFormats.Text);
                dataGrid1.UnselectAllCells();
                StreamWriter file = new StreamWriter(@"C:\test.xls", true, Encoding.GetEncoding(1251)); 
                file.WriteLine(result.Replace(',', ' '));
                file.Close();
                MessageBox.Show("Exporting DataGrid data to Excel file created");
Все работает, но меня не устраивает строка
StreamWriter file = new StreamWriter(@"C:\test.xls", true, Encoding.GetEncoding(1251));
Я бы хотел сохранять все в UTF-8. Но когда я ставлю
StreamWriter file = new StreamWriter(@"C:\test.xls",  Encoding.UTF8);
компилятор ругается и говорит что "Ошибка 2 Аргумент "2": преобразование типа из "System.Text.Encoding" в "bool" невозможно". Если оставляю только
StreamWriter file = new StreamWriter(@"C:\test.xls");
- сохраняется кракозябрами.

Решение задачи: «Экспорт данных из DataGrid в Excel с указанием кодировки»

textual
Листинг программы
StreamWriter file = new StreamWriter(@"C:\test.xls", true, Encoding.UTF8);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы