Работа с формулами в Aspose.Cells FOSS

Обзор

Aspose.Cells FOSS позволяет разработчикам Python работать с формулами в файлах электронных таблиц, используя класс Cell. Свойство formula позволяет задавать или получать строку formula объекта cell в виде обычного текста. Формулы сохраняются дословно в файле XLSX и вычисляются Excel или LibreOffice при открытии файла — сама библиотека не вычисляет результаты формул во время выполнения.

Эта страница охватывает чтение и запись формул с использованием класса Cell.

Основные понятия

Aspose.Cells FOSS хранит совместимые с Excel формулы в виде обычных строк в файле XLSX. Когда сохранённый файл открывается в Excel или LibreOffice, эти приложения вычисляют формулы и отображают полученные результаты. Библиотека не вычисляет формулы во время выполнения в Python.

Cell Хранилище формул

Класс Cell хранит формулы в своём свойстве formula, которое принимает и возвращает строковые формулы (например, =A1+B1). Свойство data_type указывает, содержит ли ячейка формулу, число, строку или ошибку.

Important: worksheet.calculate_formula() является заглушкой совместимости и не вычисляет формулы. Вычисление формул происходит в Excel или LibreOffice при открытии файла XLSX.

Реализация

Aspose.Cells FOSS обеспечивает работу с формулами в Python через класс Cell. Разработчики могут задавать и получать формулы с помощью свойства formula.

Установить формулу в Cell

Используйте свойство formula, чтобы присвоить ячейке строку формулы. Формула сохраняется дословно и будет вычислена Excel или LibreOffice при открытии файла.

from aspose.cells_foss import Workbook

workbook = Workbook()
worksheet = workbook.worksheets[0]
cell = worksheet.cells.get_cell_by_name("A1")
cell.formula = "=10+20"

Прочитать формулу из Cell

Получите строку formula, используя свойство formula экземпляра Cell. Это возвращает необработанное выражение formula, введённое пользователем.

formula = cell.formula
print(f"Formula: {formula}")

Примеры кода

Следующий пример записывает строку формулы в ячейку и сохраняет рабочую книгу. Формула будет вычислена Excel или LibreOffice при открытии файла.

from aspose.cells_foss import Workbook

# Create a new workbook and access the first worksheet
workbook = Workbook()
worksheet = workbook.worksheets[0]

# Set a value in A1 and a SUM formula in A2
worksheet.cells.get_cell_by_name('A1').value = 42
worksheet.cells.get_cell_by_name('A2').formula = '=SUM(A1, 10)'

# Save — Excel will compute =SUM(A1, 10) = 52 when it opens the file
workbook.save('formulas.xlsx')
print('Saved formulas.xlsx')

См. также

 Русский