Текущий архив: 2005.09.11;
Скачать: CL | DM;
ВнизПочему Excel не понимает формат даты? Найти похожие ветки
← →
Aleksandr. (2005-08-18 17:01) [0]При экспорте таблицы в 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".
Как ему правильно задать, что колонка является Датой?
← →
Fay © (2005-08-18 17:06) [1]ДД.ММ.ГГГГ
← →
Aleksandr. (2005-08-18 17:15) [2]Это только для русского экселя, не так ли? А автоматический формат в зависимости от языка?
← →
Fay © (2005-08-18 18:06) [3]2 Aleksandr. (18.08.05 17:15) [2]
Мне пока не понятно, как добиться такого эффекта - "Excel целочисленные значения и пишет."
← →
Aleksandr. (2005-08-18 22:19) [4]Fay © :
Очень просто - укажите NumberFormat "@". Когда его вообще не указываешь, все в целом нормально, но некоторые даты вообще косяк показывают. Поэтому и пришлось вручную проставлять форматы.
Страницы: 1 вся ветка
Текущий архив: 2005.09.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.011 c