Искажение формата даты при выводе в Ёксель
Модераторы: m0p3e, edward_K, Модераторы
Искажение формата даты при выводе в Ёксель
Привет люди, может и боян, прогаю на VIPе совсем недавно, но, надеюсь, кто поможет разобраться.
Проблема такая:
xlSTWriteToMatrix(tableindex, 2, t.dogovor.ddoc)
выводит не поддаваясь никакому узакониванию то в формате DD/MM/YYYY то в формате MM.DD.YYYY причем в первом случае формат ячейки общий а во втором- дата. Ну че за хрень, всякие там datetostr, to_char не помогают, пробовал. Причем в из базы все берется правильно, а ексель чето сам додумывает гад....
SOS!!!
Проблема такая:
xlSTWriteToMatrix(tableindex, 2, t.dogovor.ddoc)
выводит не поддаваясь никакому узакониванию то в формате DD/MM/YYYY то в формате MM.DD.YYYY причем в первом случае формат ячейки общий а во втором- дата. Ну че за хрень, всякие там datetostr, to_char не помогают, пробовал. Причем в из базы все берется правильно, а ексель чето сам додумывает гад....
SOS!!!
формат ячейки теперь везде одинаковый, но все равно глючит. Прикольно, но если число месяца >12 то все работает, если меньше, то путает число и месяц, и меняет их местами... И ваще некоторые номера договоров типа 12/6003 пытается понять как дату! бред какой то
а вообще каким шаблоном можно задать текстовый формат ячейки?

а вообще каким шаблоном можно задать текстовый формат ячейки?
-
- Постоянный обитатель
- Сообщения: 175
- Зарегистрирован: 09 окт 2009, 11:58
- Откуда: г.Находка
Re: Искажение формата даты при выводе в Ёксель
то же самое.
случилось неожиданно
отчетом пользовались год
а глючить начал сейчас. ДД и ММ Excel 2007 местами меняет.
установка формата ячейки в текст помогла
спасибо форумчанам.
случилось неожиданно
отчетом пользовались год
а глючить начал сейчас. ДД и ММ Excel 2007 местами меняет.
установка формата ячейки в текст помогла
спасибо форумчанам.
Re: Искажение формата даты при выводе в Ёксель
Даты выводить через текст уже не модно.
Теперь пользуемся функциями:
Для прямого вывода:
Function XLSETCELLDATEVALUE(date, longint, longint, longint, longint) : boolean;
Для матриц:
Function XLDTWRITETOMATRIX(longint, longint, date) : boolean;
Function XLDTWRITETOMATRIXEX(longint, longint, longint, date) : boolean;
Теперь пользуемся функциями:
Для прямого вывода:
Function XLSETCELLDATEVALUE(date, longint, longint, longint, longint) : boolean;
Для матриц:
Function XLDTWRITETOMATRIX(longint, longint, date) : boolean;
Function XLDTWRITETOMATRIXEX(longint, longint, longint, date) : boolean;