Формулы в Excel Biff экспорте
Начиная с этой недели, экспорт в Excel BIFF поддерживает формулы. Теперь в ячейке можно написать "=SUM(A1:B2)" и этот текст экспортируется как формула. В архиве пример такого отчёта: готовый xls файл и исходный fp3 файл, чтобы вы могли сами посмотреть как работает экспорт.
Поддерживается вся арифметика, а это операторы + - * / ^ % & <оператор пересечения областей, обозначаемый пробелом> : = <> < > <= >= а также оператор ссылки на ячейку или область расположенную на другой странице (выглядит это так: "Page 1"!G8).
Экспорт поддерживает довольно много (примерно 150) встроенных в Excel функций, таких как SUM, AVERAGE, INDIRECT и т.п. Добавить новую функцию очень просто: если у вас версия FR VCL Professional и выше, то вы можете в конце файла frxBIFF.pas добавить одну строчку с описанием новой функции, по аналогии с теми 150, что уже там есть.
Кроме того, значительно увеличена скорость экспорта и уменьшен расход памяти.
Поддерживается вся арифметика, а это операторы + - * / ^ % & <оператор пересечения областей, обозначаемый пробелом> : = <> < > <= >= а также оператор ссылки на ячейку или область расположенную на другой странице (выглядит это так: "Page 1"!G8).
Экспорт поддерживает довольно много (примерно 150) встроенных в Excel функций, таких как SUM, AVERAGE, INDIRECT и т.п. Добавить новую функцию очень просто: если у вас версия FR VCL Professional и выше, то вы можете в конце файла frxBIFF.pas добавить одну строчку с описанием новой функции, по аналогии с теми 150, что уже там есть.
Кроме того, значительно увеличена скорость экспорта и уменьшен расход памяти.
Комментарии
И для такого экспорта желательно событие вида ОnDataExport у каждого объекта.
Есть скажем стандартный отчет:
Header
Data
Footer
На Footer'е размещаем мемку с [SUM(<Data>, <сумма по строке>)], где "<сумма по строке>" имя колонки или переменной ил словаря данных ссылающейся на колонку или просто переменной из которой берем число для текущей строки.
При экспорте зная имя колонки в XLS куда пишется "<сумма по строке>" и номер первой и последней строчки в таблице Data ИМНО не сложно на месте экспортируемой строки Footer вместо числа, поместить формулу excel.
что сделанный в настоящее время перенос формул практическую ценность имеет весьма небольшую.
А вот перенести бы фастовые группировки и группировочные функции в Эксель - цены б фасту не было вообще!
Да и кроссрепорт вполне перекладывается на эксельные формулы