Управление формулами файлов Excel

Введение

Одной из впечатляющих функций Microsoft Excel является его способность обрабатывать данные с помощью формул и функций. Microsoft Excel предоставляет набор встроенных функций и формул, которые помогают пользователям быстро выполнять сложные расчеты. Aspose.Cells для Python via .NET также предоставляет большой набор встроенных функций и формул, которые помогают разработчикам легко вычислять значения. Aspose.Cells для Python via .NET также поддерживает надстройки функций. Более того, Aspose.Cells для Python via .NET поддерживает массивные и формулы R1C1.

Как использовать формулы и функции

Aspose.Cells для Python via .NET предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию worksheets, которая обеспечивает доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet обеспечивает коллекцию cells. Каждый элемент в коллекции Cells представляет объект класса Cell.

Можно применять формулы к ячейкам, используя свойства и методы, предлагаемые классом Cell, подробно обсуждаемым ниже.

  • Использование встроенных функций.
  • Использование функций дополнений.
  • Работа с массивными формулами.
  • Создание формулы R1C1.

Как использовать встроенные функции

Встроенные функции или формулы предоставляются в виде готовых функций, чтобы снизить усилия и время разработчиков. См. список встроенных функций, поддерживаемых Aspose.Cells для Python via .NET. Функции перечислены в алфавитном порядке. В будущем будет поддерживаться больше функций.

Aspose.Cells для Python via .NET поддерживает большинство формул или функций, предлагаемых Microsoft Excel. Разработчики могут использовать эти формулы через API или конструктор таблиц. Aspose.Cells для Python via .NET поддерживает большой набор математических, строковых, логических, дат/времени, статистических, баз данных, поиска и ссылочных формул.

Используйте свойство formula класса Cell для добавления формулы в ячейку. Сложные формулы, например

 = H7*(1+IF(P7 = $L$3,$M$3, (IF(P7=$L$4,$M$4,0))))

, также поддерживаются в Aspose.Cells для Python via .NET. При применении формулы к ячейке всегда начинайте строку с знака равенства (=), как при создании формулы в Microsoft Excel, и используйте запятую (,) для разделения параметров функции.

В следующем примере к первой ячейке коллекции cells рабочего листа применяется сложная формула. Формула использует встроенную функцию IF, предоставляемую Aspose.Cells для Python via .NET.

Как использовать функции дополнений

Может быть необходимо включить в excel пользовательские формулы, которые мы хотим включить в виде добавления. При установке функции cell.Formula встроенные функции работают хорошо, однако требуется установить пользовательские функции или формулы, используя функции дополнений.

Aspose.Cells для Python via .NET предоставляет функции для регистрации надстроек функций с помощью worksheets.register_add_in_function(). После этого, когда мы устанавливаем cell.Formula = anyFunctionFromAddIn, итоговый файл Excel содержит вычисленное значение из функции надстройки.

Для регистрации функции добавления в приведенном ниже образце кода следует загрузить файл XLAM. Аналогично, файл вывода “test_udf.xlsx” можно загрузить для проверки вывода.

TestUDF.xlam

test_udf.xlsx

Как использовать массивную формулу

Массивные формулы – это формулы, которые принимают массивы в качестве аргументов для функций, составляющих формулу. Когда массивная формула отображается, она окружена фигурными скобками ({}).

Некоторые функции Microsoft Excel возвращают массивы значений. Для вычисления нескольких результатов с помощью массивной формулы введите массив в диапазон ячеек с тем же количеством строк и столбцов, что и аргументы массива.

Возможно применить массивную формулу к ячейке, вызвав метод класса Cell set_array_formula. Метод set_array_formula принимает следующие параметры:

  • Массивная Формула, массивная формула.
  • Количество строк, количество строк для заполнения результата массивной формулы.
  • Количество столбцов, количество столбцов для заполнения результата массивной формулы.

Как использовать формулу R1C1

Добавить формулу со ссылкой стиля R1C1 в ячейку с помощью свойства r1c1_formula класса Cell.

Продвинутые темы