![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему Excel не понимает формат даты? [WinXP]
Aleksandr. © (2005-08-18 17:01:00)При экспорте таблицы в Excel, чтобы он не тупил с форматированием данных, для колонок устанавливаю свои форматы:
F:=TDataSet(FDataSet).Fields[i];
RangeStr:=TExcelLetters[i-j+1]+'2:'+TExcelLetters[i-j+1]+IntToStr(dCount);
FmtRange:=Sheet.Range[RangeStr];
if F.DataType=ftInteger then
FmtRange.NumberFormat:='0'
else if F.DataType=ftFloat then
FmtRange.NumberFormat:='0'+DecimalSeparator+'00'
else if F.DataType=ftDateTime then
FmtRange.NumberFormat:='m/d/yyyy'
else
FmtRange.NumberFormat:='@'
Даты в полях ftDateTime являются целочисленными (без времени), и при отсутствии задания NumberFormat для них Excel целочисленные значения и пишет.
Какой нужен формат для даты, смотрелось при помощи записи макроса с самом Excel, но на практике после форматирования он в этих ячейках при указании такого формата выдает ошибку невозможности установить формат, а если присвоение заменить на 'm'+DateSeparator+'d'+dateseparator+'yyyy', то так в ячейке и пишет: "m.d.yyyy".
Как ему правильно задать, что колонка является Датой?
Aleksandr. (2005-08-18 22:19:00) [1]Fay © :
Очень просто - укажите NumberFormat "@". Когда его вообще не указываешь, все в целом нормально, но некоторые даты вообще косяк показывают. Поэтому и пришлось вручную проставлять форматы.
Fay (2005-08-18 18:06:00) [2]2 Aleksandr. (18.08.05 17:15) [2]
Мне пока не понятно, как добиться такого эффекта - "Excel целочисленные значения и пишет."
Aleksandr. (2005-08-18 17:15:00) [3]Это только для русского экселя, не так ли? А автоматический формат в зависимости от языка?
Fay (2005-08-18 17:06:00) [4]ДД.ММ.ГГГГ