Экспорт DOUBLE в EXCEL (OLE) +FORMAT
visor123
Днепропетровск
Ошибка экспортирования форматированных в FR3 DOUBLE данных в Excel. Данные в ёкселе представлены как строки, а не как числа, что затрудняет дальнейшую работу с ними, если это нужно конечно...
Возможно ли сделать при экспортировании форматированных в FastReports чисел DOUBLE в Excel так, чтобы они в ёкселе были числами, а не текстом?
Если нельзя, то почему?
Лицензия на FR3 есть.
Версия 3.17. Изменений в 3.18 на эту тему не видел.
Возможно ли сделать при экспортировании форматированных в FastReports чисел DOUBLE в Excel так, чтобы они в ёкселе были числами, а не текстом?
Если нельзя, то почему?
Лицензия на FR3 есть.
Версия 3.17. Изменений в 3.18 на эту тему не видел.
Комментарии
На самом деле странно, что на подобный вопрос не отвечают разработчики
В двух словах - вы экспортируете результат, а результат это текст. И никакого признака формата данных там уже нет.
Поиск по ветке FastReport 3 не дает положительных результатов ни для "Excel", ни для "Экспорт".
Для FastReport 3 абсолютно не согласен. В модуле frxExportXLS в методе ExportPage идет перебор объектов типа TfrxIEMObject и собственно формируется массив значений ExlArray. Класс TfrxIEMObject содержит информацию о формате данных, ее и можно использовать.
Вот в массив передаются как раз строковые значения, но возможно есть способ для задания формата элементов этого массива? Или перебора полей уже в Excel? При переборе конечно скорость сильно упадет, но она будет однозначно выше, чем когда люди вручную меняют формат ячеек в многостраничных отчетах...
- использовании разделителей тысяч
- использовании разделителя дробной части, не совпадающего с системными настройками
- определенном расположении звезд/влажности/атмосферном далении/...
- просто ему число не понравилось
- ...
Особенно прикольно бывает, когда данные в одном столбце импортируются то так то эдак, хотя выглядят абсолютно одинаково, но в итогах учитываются по-разному.
Т.е. правильным было бы указывать при экспорте формат данных, но это не всегда возможно, или приводит к тормозам.
В модуле frxExportXLS в методе ExportPage_Fast
1. добавить локальные переменные:
2. вместо текста
внести
Экспорт будет правильно экспортировать данные в числовом формате, но только с включенной галочкой Fast Export, потому как метод ExportPage_Fast создает массив с типом varVariant и подходит для корректной конвертации:
Метод ExportPage создает массив уже в строковом типе и я даже не знаю можно этот тип менять или нет :
Типы данных должны хранится в отчете, т.к. отчет фатически представлен XML-форматом, то задать тип в нем достаточно не сложно.
При передаче в йксель в модулях я всегдя задаю формат колонок данных в соответствии с датасетом.
Я глубоко сомневаюсь, что это невозможно, а для пользования это достаточно ощутимый + т.к. много пользователей экспорят в ёксель что-либо. В принципе это можно назвать более глубокой интеграцией с ёкселем.
Отлично
Если бы еще разработчики это написали, чтобы код при переходе версий не ровнять самому