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

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

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

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



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

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

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

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

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

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

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

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

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

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


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

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

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

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


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