powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport 6.6 export xlsx. Не правильный формат ячеек даты
16 сообщений из 16, страница 1 из 1
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045867
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В отчете несколько колонок с датами формата dd.mm.yyyy hh:nn:ss. В самом отчете выставил DisplayFormat = dd.mm.yyyy hh:nn:ss.
Для экспорта использую компонент frxXLSXExport1.
После экспорта становлюсь на ячейку уже в MS Excel 2013, а она у меня формата "Общий", а должна быть "Все форматы" (ДД.ММ.ГГГГ чч:мм:сс).
Причем, если я изменю содержание ячейки (добавлю пробел и удалю пробел), то MS Excel преобразует в нужный формат. Значит содержимое не кривое.
Что я не учел?
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045872
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
Причем, если я изменю содержание ячейки (добавлю пробел и удалю пробел), то MS Excel преобразует в нужный формат. Значит содержимое не кривое

одно не вытекает из другого. Просто Excel при редактировании сам уже подумал и переделал.
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045874
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён, а как fastreport сказать, чтобы он за Excel подумал?
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045879
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не могу посмотреть, но я бы начал с изучения класса ТfrxXLSXExport, если у вас есть исходники.
Возможно, у него есть свойство типа DateTimeFormat или что-нибудь подобное
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045883
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть у него функция, которая возвращает строку

Код: pascal
1.
2.
3.
4.
5.
6.
function FormatData(const Value: Variant; AFormat: TfrxFormat = nil): WideString; 
///...

fkDateTime:
        Result := FormatDateTime(AFormat.FormatStr, Value);
//.....



но она отвечает только за отображение
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045885
_Den_Z_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cptngrb,
С форматированием на самом деле не всегда все просто, в результирующий отчет чаще всего попадает строка. Т.к. поле может содержать несколько выражений вида [Date1] to [Date2]. Которое уже не отформатируешь по формату.
Для одиночных выражений можно добавить, в biff8 они обрабатываются. Добавил задачу в трекер, думаю в ближайших сборках добавим.
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045907
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

если хотите, вот вым обходной манёвр

1) SQL датасета пусть возвращает не DateTime - поле, а STRING сразу отформатированный как нужно. В Oracle, например, это функция to_char

2) Соответственно, в FastReport'e выводиться уже будет сразу правильно и никакой DisplayFormat не нужен

3) А вот как Excel воспримет экспортированные "в-строки-записанные-даты" - это только опытным путём, поймёт ли он, что это дата/время, или так и останется с мнением, что это строка. Но в любом случае, отображение будет как вы и хотели
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045915
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отображается правильно, а вот сортировка-фильтрация в самом Excel нет, так как не понятно Excel что лежит в ячейке.
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045931
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

хотелки хотелки, теперь вот ещё и сортировку подавай ...

Вполне может оказаться (но это не обязательно), что имеет место технологический тупик ...

Kстати, если это своей кривостью не переходит черту допустимой кривизны, то форматируйте строку как YYYY-MM-DD hh:mi:ss. Сортировка в Excel'e тогда будет работать и правильно. А про простую фильтрацию по годам / месяцам можно будет забыть
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045962
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пользователям нужно чтобы как родной был. эх, придется ручками экспортировать, а так хотелось программировать мышкой...
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40045980
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

вы можете экспортировать привязанный к MasterBand датасет. Но не из FastReport'a, а отдельно.
Вот, ознакомьтесь с топиком: Процедура ExportDatasetToExcel на базе XLSReadWrite (обертка)
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40046107
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён, я использую этот компонент в других проектах, но требования заказчика - никаких новых компонент
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40046130
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

может это из-за цены?
Если так, попробуйте уломать хотя бы на SMExport suite (Full suite with sources: 50,- EUR )


Хотя есть и более интересный способ:

- смотрим на начинку ТfrxXLSXExport
- там, наверняка, под капотом найдется целый набор функций / или даже юнитов для экспорта в Excel
- находим для себя полезные функции для экспорта Worksheet'ов / строк / ячеек и т.д.
- и строим на этой базе свой собственный экспортер в *.xlsx

я бы и сам посмотрел, но у меня старая версия FR, там ещё не было экспорта в *.xlsx
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40046314
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.

ну то есть, возможно, существует файл "frxExportXLSX.pas" и в нём класс "TfrxExcelXLSX" или как-нибудь похоже
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40046376
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён, спасибо. Пока ручками справляюсь.
...
Рейтинг: 0 / 0
FastReport 6.6 export xlsx. Не правильный формат ячеек даты
    #40046377
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось научиться красоту наводить (цвета, шрифты) и вообще шик будет
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport 6.6 export xlsx. Не правильный формат ячеек даты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]