Страница 1 из 1

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

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

Почему???

Добавлено: 09 дек 2009, 17:59
m0p3e
Формат ячейки задать надо принудительно.
Даты выгружать через xlSetCellDateValue
Цифири через xlSetCellNumberValue.
Если с использованием матрицы, то xlDtWriteToMatrix и xlDoWriteToMatrix соответственно.

Добавлено: 09 дек 2009, 18:03
alfmaster
спасибо за оперативность :) , сейчас проверю

Добавлено: 09 дек 2009, 18:29
alfmaster
Спасибо, с датами помогло, а вот с преобразованием чисел в дату непонятно осталось...
из полторы тысячи строк только в трех строках суммы поменялись на описанный формат(например: "июн.08" возник из числа "3099,76"
- почему, не понятно :-( ), то-ли xlSetCellNumberValue не поможет в этом случае, то-ли где-то у меня еще преобразование идет некорректное, но тогда как-же все другие суммы :sad:

Добавлено: 09 дек 2009, 18:41
edward_K
есть еще xlSetNumberFormat
а проще в шаблоне задать формат числовой для столбца, а потом уже в шапке нужным полям другой.

Добавлено: 09 дек 2009, 19:33
alfmaster
edward_K писал(а):есть еще xlSetNumberFormat
а проще в шаблоне задать формат числовой для столбца, а потом уже в шапке нужным полям другой.
не помогает :???:

Добавлено: 09 дек 2009, 19:42
m0p3e
alfmaster писал(а):не помогает :???:
Быть такого не может.
Симптомы однозначно говорят о том, что формат ячейки в которую выгружаются данные "общий". А эксель преобразует так, как считает нужным.

Добавлено: 09 дек 2009, 22:06
maikl
У нас тоже была проблема с датами в Excel, половина дат одного формата, другая половина другого, в одном и том же столбце. Мы реши, это ексел виноват. )))

Добавлено: 10 дек 2009, 09:26
edward_K
дык избавляйтесь от "общего" формата - и проблем не будет. Как вариант добавляйте "`" в начало поля - тогда всегда будет строка, а на экране и на печати этот символ не выведется. Но лучше делать всегда на основе шаблона. Выделяете весь(!) столбец и задаетте формат для данных. Потом в шапке ставите другой.

Добавлено: 10 дек 2009, 11:43
Masygreen
тынц...
xlSetNumberFormat ( 'ДД.ММ.ГГГГ', 6, i, MaxExcelRow, i ); - дата
xlSetNumberFormat ( '@', 6, i, MaxExcelRow, i ); - текст
xlSetNumberFormat ( '# ##0,000', 2, i, MaxExcelRow, i ); - число

Добавлено: 10 дек 2009, 11:44
Masygreen
при выводе принудительно проставляйте формат .. если не поможет делайте макросом