Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как при записи файла указать его кодировку?

21K
04 декабря 2006 года
Sasha_girl
3 / / 29.11.2006
Необходимо сформированный отчет сохранить как эксель документ для последующей работы уже самим пользователем. Возникла проблема с кириллицей для эксель. Функцию форматирования FormatFloat ("#.##0.00") применить нельзя - эксель не делает суммирования в колонках:mad:

List->SaveToFile("d\:\\"отчет.xls") ;

Как сохранить отчет с указанием кодировки cyrillic(windows-1251) ?
246
04 декабря 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата: Sasha_girl
Необходимо сформированный отчет сохранить как эксель документ для последующей работы уже самим пользователем. Возникла проблема с кириллицей для эксель. Функцию форматирования FormatFloat ("#.##0.00") применить нельзя - эксель не делает суммирования в колонках:mad:

List->SaveToFile("d\:\\"отчет.xls") ;

Как сохранить отчет с указанием кодировки cyrillic(windows-1251) ?


Код приведи...

309
04 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
Вопрос, по меньшей мере, странный.
Эта кодировка используется по умолчанию.
А вот если требуется читать/писать файлы DOS, то стринглист понадобилось бы прогнать через OemToCharA (или CharToOemA)
21K
04 декабря 2006 года
Sasha_girl
3 / / 29.11.2006
Почему же - странный?
Формирую отчет как html, указываю кодировку
List->Add("<html><head><meta http-equiv=content-type content=text/html; charset=windows-1251></head><body>");
Сохранию как html
List->SaveToFile("d\:\\"отчет.html") ;
для браузера никаких проблем нет - кириллическая кодировка на месте.
Открываем этот же отчет в эксель - хрень вместо кириллицы:)))
Давайте сохраним его как эксель
List->SaveToFile("d\:\\"отчет.xls") ;
результат тот же - вместо кириллицы...:mad:
11K
04 декабря 2006 года
_io_lock
73 / / 05.10.2006
По-моему, дело в том, что по умолчанию у дельфийских строк какаято тупая кодировка (возможно даже 866 =). Попробуй действительно свой лист прогнать через CharToOem :
 
Код:
long n = List->Length;
for( long i=0; i<n; i++ )
{
  CharToOem(List.c_str(), List.c_str);
  // слегка косо, но должно работать :)
};
List->SaveToFile("d\:\\"отчет.xls") ;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог