Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataGridView to Excel (кодировка...) 
:(
    Опции темы
Chaki
  Дата 5.8.2008, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Люди, помогите, такая проблема. Когда у меня данные отображены в DataGrid в Windows Form, то данные на русском языке отборажаются верно. Когда я копирую эти данные в Excel, долго думает и потом все цифры остаются в порядке, вот русские буквы превращщяются типа в cO???????/TD>
 или ?. 23 Oђ, ?0, ?24. Вероятно проблема с кодировкой. Где и как можно ее настроить, чтобы данные отображались корректно?
Еще добавлю, что у меня получилось реализовать экспорт данных в Exel (жмешь кнопку, и соханяется в файле .xls или .csv). Картина такая же, только кодировка уже немного по-другому срабатывает, хотя все так же ничего толкового. А вот если взять через Excel: Данные - Импорт - Импортировать сохраненный из С# файл .csv, то так срабатывает.
Вобщем вопрос, как сделать так, чтобы можно было настроить кодрировку (нигде не нашел), или, может, как-то прогнать данные... вобщем бьюсь уже 2 недели, ничего не смог сделать...  smile .  Я использую Visual Studio 2005 и Excel 2007 (Excel 2003 тоже пробовал - не работает)
PM MAIL   Вверх
MasterOfCode
Дата 6.8.2008, 05:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Идешь в реестр.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
Оставляешь все записи в первой колонке где после текста идет ,0 а во второй колонке после текста ,204. Например:
Код

Arial Cyr,0   REG_SZ Arial,204
Arial,0   REG_SZ Arial,204
...
Times New Roman Cyr,0   REG_SZ   Times New Roman,204

Остальные удаляешь.

Восможно поможет.


--------------------
user posted image
PM ICQ   Вверх
Chaki
Дата 6.8.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



 smile  Спасибо за совет, но не помогло, все осталось то же самое... блин, даже не думаю что уже и делать....
PM MAIL   Вверх
Chaki
Дата 8.8.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Ответ есть (кому интересно)! Предложили скопировать в буфер, там перекодировать, и тогда будет ок... Но благо мне часть программы дали, я переделал под себя, и заработало. Вот часть кода:
Код

SqlDataAdapter sdaAdapter = new SqlDataAdapter(cmd);
              DataTable dtDataTable = new DataTable();
              sdaAdapter.Fill(dtDataTable);
              DataGridView dgv1 = new DataGridView();
              dgv1 = dataGridView1;
              dgv1.DataSource = dtDataTable;

// вот далее эта часть и перекодирует данные, и при вставке в Excel все отлично отображается
              dgv1.SelectAll();
              Clipboard.Clear();
              if (dgv1.GetClipboardContent() != null)
              {
                  Clipboard.SetDataObject(dgv1.GetClipboardContent());
                  Clipboard.GetData(DataFormats.Text);
                  IDataObject dt = Clipboard.GetDataObject();
                  if (dt.GetDataPresent(typeof (string)))
                  {
                      string tb = (string) (dt.GetData(typeof (string)));
                      ASCIIEncoding ee = new ASCIIEncoding();
                      Encoding myEncoding = Encoding.GetEncoding(1251);
                      byte[] abyDataStr = new byte[tb.Length];
                      abyDataStr = myEncoding.GetBytes(tb);
                      Clipboard.SetDataObject(myEncoding.GetString(abyDataStr));
                  }

Всем спасибо, может данные знания пригодятся разработчикам клиентов под Sql. Всем удачи и спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.