Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.11.20;
Скачать: [xml.tar.bz2];

Вниз

Закорючки в Excel   Найти похожие ветки 

 
guest   (2010-05-11 18:48) [0]

День добрый!
Использую экспорт в Excel, описанный здесь:
http://www.delphiturkiye.com/offline/2/10771.html
а именно в формат BIFF. Результирующий файл XLS в разных версиях Excel показывается по разному - русские буквы показывает нормально, либо закорючками. Замечено, что на одной машине с Office 2007 было нормально, но после очередного обновления Office русские буквы стали не видны. Прошу помощи! Спасибо.


 
Игорь Шевченко ©   (2010-05-11 19:39) [1]

Мы в свое время QuickReport патчили для устранения проблем с русским шрифтом, а именно явно указывали в biff-файле кодовую страницу

 WriteRecordHeader(BOF_BIFF5, 6);
 Stream.Write(Buffer, 6);
//SE: 09.06.2009 To enable correct display of cyrillic text in excel file,
//           encoding must be specified.
{$IFDEF QR_USE_CURRENT_ACP}
 Buffer[0] := GetACP; // Current active code page
{$ELSE}
 Buffer[0] := gExcelExportCodePage;
{$ENDIF}
 Buffer[1] := 0;
 Buffer[2] := 0;
 Buffer[3] := 0;
 Buffer[4] := 0;
 WriteRecordHeader($0042, 2);
 Stream.Write(Buffer, 2);  
//SE: 09.06.2009 end of changes


 
guest   (2010-05-12 10:07) [2]

Утро доброе!
Спасибо большре, появилась надежда, что не надо будет переделывать на другой способ экспорта. А вот по этим функциям можно поподробней?

{$IFDEF QR_USE_CURRENT_ACP}
Buffer[0] := GetACP; // Current active code page
{$ELSE}
Buffer[0] := gExcelExportCodePage;


 
guest   (2010-05-12 10:44) [3]

Спасибо, все получилось!

 WriteRecordHeader(BOF_BIFF5, 6);
 fStream.Write(Buffer, 6);
 WriteRecordHeader($0042, 2); // Заголовок кодовой страницы
 Buffer[0] := $04E3; // Кодовая страница 1251 = Windows CP-1251 (Cyrillic)
 fStream.Write(Buffer, 2);



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2011.11.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.003 c
2-1312259634
Grimm
2011-08-02 08:33
2011.11.20
Как правильно написать условие if для StringList.IndexOf ?


15-1311453004
Юрий
2011-07-24 00:30
2011.11.20
С днем рождения ! 24 июля 2011 воскресенье


2-1311696047
prodex
2011-07-26 20:00
2011.11.20
RasDial возвращает ошибку 668


15-1310970242
Дмитрий С
2011-07-18 10:24
2011.11.20
Кто нибудь тут может подключить...


2-1311708454
Lamer6666
2011-07-26 23:27
2011.11.20
Правильно ли работаю с потоками?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский