Даты при выгрузке в XLS (проблемы)

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

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

Ответить
alfmaster
Новичок
Сообщения: 24
Зарегистрирован: 30 окт 2009, 13:02

Даты при выгрузке в XLS (проблемы)

Сообщение alfmaster »

Подскажите, кто может:
1. есть фейс, выгружающий данные в xls.
2. в одной из колонок выгружается дата документа: в xls колонке она выглядит в одних строках как 23/08/2008, в других строках 03.10.2009
- причем в этом случае меняются местами число и месяц(на самом деле 10.03.2009) -почему так.
3. в другой колонке стоят итоговые суммы: обнаружено, что в неск. строках сумма выглядит в формате даты(формат ячейки в этом случае самовольно меняется на "все форматы" - тип "МММ.ГГ") - при замене формата ячейки на общий число становится нормальным...

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

Сообщение m0p3e »

Формат ячейки задать надо принудительно.
Даты выгружать через xlSetCellDateValue
Цифири через xlSetCellNumberValue.
Если с использованием матрицы, то xlDtWriteToMatrix и xlDoWriteToMatrix соответственно.
alfmaster
Новичок
Сообщения: 24
Зарегистрирован: 30 окт 2009, 13:02

Сообщение alfmaster »

спасибо за оперативность :) , сейчас проверю
alfmaster
Новичок
Сообщения: 24
Зарегистрирован: 30 окт 2009, 13:02

Сообщение alfmaster »

Спасибо, с датами помогло, а вот с преобразованием чисел в дату непонятно осталось...
из полторы тысячи строк только в трех строках суммы поменялись на описанный формат(например: "июн.08" возник из числа "3099,76"
- почему, не понятно :-( ), то-ли xlSetCellNumberValue не поможет в этом случае, то-ли где-то у меня еще преобразование идет некорректное, но тогда как-же все другие суммы :sad:
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

есть еще xlSetNumberFormat
а проще в шаблоне задать формат числовой для столбца, а потом уже в шапке нужным полям другой.
alfmaster
Новичок
Сообщения: 24
Зарегистрирован: 30 окт 2009, 13:02

Сообщение alfmaster »

edward_K писал(а):есть еще xlSetNumberFormat
а проще в шаблоне задать формат числовой для столбца, а потом уже в шапке нужным полям другой.
не помогает :???:
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

alfmaster писал(а):не помогает :???:
Быть такого не может.
Симптомы однозначно говорят о том, что формат ячейки в которую выгружаются данные "общий". А эксель преобразует так, как считает нужным.
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Сообщение maikl »

У нас тоже была проблема с датами в Excel, половина дат одного формата, другая половина другого, в одном и том же столбце. Мы реши, это ексел виноват. )))
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

дык избавляйтесь от "общего" формата - и проблем не будет. Как вариант добавляйте "`" в начало поля - тогда всегда будет строка, а на экране и на печати этот символ не выведется. Но лучше делать всегда на основе шаблона. Выделяете весь(!) столбец и задаетте формат для данных. Потом в шапке ставите другой.
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Сообщение Masygreen »

тынц...
xlSetNumberFormat ( 'ДД.ММ.ГГГГ', 6, i, MaxExcelRow, i ); - дата
xlSetNumberFormat ( '@', 6, i, MaxExcelRow, i ); - текст
xlSetNumberFormat ( '# ##0,000', 2, i, MaxExcelRow, i ); - число
Время ведет!
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Сообщение Masygreen »

при выводе принудительно проставляйте формат .. если не поможет делайте макросом
Время ведет!
Ответить