Работа с формулами в 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')