Формулы в Excel Biff экспорте

отредактировано 16:52 Раздел: FastReport 4.0
Начиная с этой недели, экспорт в Excel BIFF поддерживает формулы. Теперь в ячейке можно написать "=SUM(A1:B2)" и этот текст экспортируется как формула. В архиве пример такого отчёта: готовый xls файл и исходный fp3 файл, чтобы вы могли сами посмотреть как работает экспорт.

Поддерживается вся арифметика, а это операторы + - * / ^ % & <оператор пересечения областей, обозначаемый пробелом> : = <> < > <= >= а также оператор ссылки на ячейку или область расположенную на другой странице (выглядит это так: "Page 1"!G8).

Экспорт поддерживает довольно много (примерно 150) встроенных в Excel функций, таких как SUM, AVERAGE, INDIRECT и т.п. Добавить новую функцию очень просто: если у вас версия FR VCL Professional и выше, то вы можете в конце файла frxBIFF.pas добавить одну строчку с описанием новой функции, по аналогии с теми 150, что уже там есть.

Кроме того, значительно увеличена скорость экспорта и уменьшен расход памяти.

Комментарии

  • PNPPNP
    отредактировано 16:52
    Замечательная новость! Спасибо :)
  • отредактировано 16:52
    Вот если вы он мог в формулы переделывать при экспорте итоги по колонкам и выражения по колонкам, а не экспортировать значения.
  • отредактировано 16:52
    написал: »
    Вот если вы он мог в формулы переделывать при экспорте итоги по колонкам и выражения по колонкам, а не экспортировать значения.
    :) это уже относится к телепатии. Это генератор отчетов, а не аналитическая система.
  • отредактировано 16:52
    Gromozeka написал: »
    :) это уже относится к телепатии. Это генератор отчетов, а не аналитическая система.
    Ну уж так и телепатия. Конечно, отчет должен быть сделан определенным образом. У мемо есть поле дата - это имя колонки . Отсюда преобразовывать в формулы. Конечно в 4 версии это может быть сложно. А для 5 версии в объекте таблица вполне можно сделать.
    И для такого экспорта желательно событие вида ОnDataExport у каждого объекта.
  • Stalker4Stalker4 123
    отредактировано 16:52
    написал: »
    Вот если вы он мог в формулы переделывать при экспорте итоги по колонкам и выражения по колонкам, а не экспортировать значения.
    Полностью поддерживаю, тем более что сделать это при соблюдении некоторых правил вполне реально даже в FR4, не говоря уже о будущем FR5 (TableObject) для агрегатных функций FR типа SUM, COUNT, AVG.

    Есть скажем стандартный отчет:
    Header
    Data
    Footer

    На Footer'е размещаем мемку с [SUM(<Data>, <сумма по строке>)], где "<сумма по строке>" имя колонки или переменной ил словаря данных ссылающейся на колонку или просто переменной из которой берем число для текущей строки.
    При экспорте зная имя колонки в XLS куда пишется "<сумма по строке>" и номер первой и последней строчки в таблице Data ИМНО не сложно на месте экспортируемой строки Footer вместо числа, поместить формулу excel.

  • отредактировано 16:52
    Поддерживаю некоторых предыдущих ораторов в том,
    что сделанный в настоящее время перенос формул практическую ценность имеет весьма небольшую.
    А вот перенести бы фастовые группировки и группировочные функции в Эксель - цены б фасту не было вообще! :)
    Да и кроссрепорт вполне перекладывается на эксельные формулы

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.