Práce s vzorci pomocí Aspose.Cells FOSS
Přehled
Aspose.Cells FOSS enables Python developers to work with formulas in spreadsheet files using the Cell třída. Tato formula vlastnost umožňuje nastavit nebo získat cellbuňky formula řetězec jako prostý text. Formule jsou uloženy doslovně v souboru XLSX a jsou vyhodnoceny v Excelu nebo LibreOffice při otevření souboru — knihovna sama nevyhodnocuje výsledky vzorců za běhu.
Tato stránka popisuje čtení a zápis vzorců pomocí Cell třídy.
Základní pojmy
Aspose.Cells FOSS stores Excel-compatible formulas as plain strings in the XLSX file. When the saved file is opened in Excel or LibreOffice, those applications evaluate the formulas and display computed results. The library does not evaluate formulas at runtime in Python.
Cell Ukládání vzorců
Tato Cell třída ukládá vzorce ve svém formula vlastnosti, která přijímá a vrací řetězce vzorců (např., =A1+B1). Vlastnost data_type udává, zda buňka obsahuje vzorec, číslo, řetězec nebo chybu.
Důležité: worksheet.calculate_formula() je kompatibilní zástupná funkce a nevyhodnocuje vzorce. Vyhodnocení vzorců probíhá v Excelu nebo LibreOffice při otevření souboru XLSX.
Implementace
Aspose.Cells FOSS enables formula handling in Python via the Cell třída. Vývojáři mohou nastavit a získat vzorce pomocí formula vlastnosti.
Nastavit vzorec v Cell
Použijte formula vlastnost k přiřazení řetězce vzorce buňce. Vzorec je uložen doslovně a bude vyhodnocen v Excelu nebo LibreOffice při otevření souboru.
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
cell = worksheet.cells.get_cell_by_name("A1")
cell.formula = "=10+20"Načíst vzorec z Cell
Získejte formula řetězec pomocí formula vlastnosti Cell instance. Toto vrací surový formula výraz tak, jak jej zadal uživatel.
formula = cell.formula
print(f"Formula: {formula}")Příklady kódu
Následující příklad zapíše řetězec vzorce do buňky a uloží sešit. Vzorec bude vyhodnocen v Excelu nebo LibreOffice při otevření souboru.
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')