Искажение формата даты при выводе в Ёксель

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
_Tosha_
Сообщения: 8
Зарегистрирован: 30 янв 2007, 17:41

Искажение формата даты при выводе в Ёксель

Сообщение _Tosha_ »

Привет люди, может и боян, прогаю на VIPе совсем недавно, но, надеюсь, кто поможет разобраться.
Проблема такая:
xlSTWriteToMatrix(tableindex, 2, t.dogovor.ddoc)
выводит не поддаваясь никакому узакониванию то в формате DD/MM/YYYY то в формате MM.DD.YYYY причем в первом случае формат ячейки общий а во втором- дата. Ну че за хрень, всякие там datetostr, to_char не помогают, пробовал. Причем в из базы все берется правильно, а ексель чето сам додумывает гад....

SOS!!!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Формат ячейки принудительно укажи.
xlSetNumberFormat ( 'ДД.ММ.ГГГГ', 6, i, MaxExcelRow, i );
_Tosha_
Сообщения: 8
Зарегистрирован: 30 янв 2007, 17:41

Сообщение _Tosha_ »

формат ячейки теперь везде одинаковый, но все равно глючит. Прикольно, но если число месяца >12 то все работает, если меньше, то путает число и месяц, и меняет их местами... И ваще некоторые номера договоров типа 12/6003 пытается понять как дату! бред какой то
:???:

а вообще каким шаблоном можно задать текстовый формат ячейки?
_Tosha_
Сообщения: 8
Зарегистрирован: 30 янв 2007, 17:41

Сообщение _Tosha_ »

все, разобрался.... нельзя екселю давать мудрить... =)
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Все замечательно работает. Только задавай формат принудительно всегда. Тестовая ячейка '@'
_Tosha_
Сообщения: 8
Зарегистрирован: 30 янв 2007, 17:41

Сообщение _Tosha_ »

большое спасиба!
Шевцов Владимир
Постоянный обитатель
Сообщения: 175
Зарегистрирован: 09 окт 2009, 11:58
Откуда: г.Находка

Re: Искажение формата даты при выводе в Ёксель

Сообщение Шевцов Владимир »

то же самое.
случилось неожиданно
отчетом пользовались год
а глючить начал сейчас. ДД и ММ Excel 2007 местами меняет.
установка формата ячейки в текст помогла
спасибо форумчанам.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Искажение формата даты при выводе в Ёксель

Сообщение m0p3e »

Даты выводить через текст уже не модно.
Теперь пользуемся функциями:
Для прямого вывода:
Function XLSETCELLDATEVALUE(date, longint, longint, longint, longint) : boolean;
Для матриц:
Function XLDTWRITETOMATRIX(longint, longint, date) : boolean;
Function XLDTWRITETOMATRIXEX(longint, longint, longint, date) : boolean;
Ответить