Práca s formulami s Aspose.Cells FOSS
Prehľad
Aspose.Cells FOSS umožňuje vývojárom Python pracovať s formulami v tabuľkových súboroch pomocou triedy Cell. Vlastnosť formula umožňuje nastaviť alebo získať reťazec formula objektu cell ako obyčajný text. Formuly sú uložené doslovne v súbore XLSX a vyhodnocuje ich Excel alebo LibreOffice pri otvorení súboru — knižnica sama nevyhodnocuje výsledky formulí za behu.
Táto stránka pokrýva čítanie a zápis vzorcov pomocou triedy Cell.
Základné koncepty
Aspose.Cells FOSS ukladá Excel‑kompatibilné vzorce ako obyčajné reťazce v súbore XLSX. Keď je uložený súbor otvorený v Exceli alebo LibreOffice, tieto aplikácie vyhodnocujú vzorce a zobrazujú vypočítané výsledky. Knižnica nevyhodnocuje vzorce za behu v Pythone.
Cell Ukladanie vzorca
Trieda Cell ukladá vzorce vo svojej vlastnosti formula, ktorá prijíma a vracia reťazce vzorcov (napr. =A1+B1). Vlastnosť data_type udáva, či bunka obsahuje vzorec, číslo, reťazec alebo chybu.
Dôležité:
worksheet.calculate_formula()je kompatibilná náhrada a nevyhodnocuje vzorce. Vyhodnocovanie vzorcov prebieha v Exceli alebo LibreOffice, keď je súbor XLSX otvorený.
Implementácia
Aspose.Cells FOSS umožňuje spracovanie vzorcov v Pythone prostredníctvom triedy Cell. Vývojári môžu nastaviť a načítať vzorce pomocou vlastnosti formula.
Nastavte vzorec v Cell
Použite vlastnosť formula na priradenie reťazca vzorca do bunky. Vzorec je uložený doslovne a bude vyhodnotený programom Excel alebo LibreOffice pri otvorení súboru.
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
cell = worksheet.cells.get_cell_by_name("A1")
cell.formula = "=10+20"Prečítajte vzorec z Cell
Získajte reťazec formula pomocou vlastnosti formula inštancie Cell. Toto vráti surový výraz formula zadaný používateľom.
formula = cell.formula
print(f"Formula: {formula}")Príklady kódu
Nasledujúci príklad zapíše reťazec vzorca do bunky a uloží zošit. Vzorec bude vyhodnotený v programe Excel alebo LibreOffice pri otvorení súboru.
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')