کار با فرمولها با Aspose.Cells FOSS
نمای کلی
Aspose.Cells FOSS به توسعهدهندگان پایتون امکان کار با فرمولها در فایلهای صفحهگسترده را با استفاده از کلاس Cell میدهد. ویژگی formula امکان تنظیم یا بازیابی رشته formula یک cell را به صورت متن ساده فراهم میکند. فرمولها بهصورت دقیق در فایل XLSX ذخیره میشوند و هنگام باز شدن فایل توسط Excel یا LibreOffice ارزیابی میشوند — کتابخانه خود نتایج فرمول را در زمان اجرا ارزیابی نمیکند.
این صفحه به خواندن و نوشتن فرمولها با استفاده از کلاس Cell میپردازد.
مفاهیم اصلی
Aspose.Cells FOSS فرمولهای سازگار با Excel را بهصورت رشتههای ساده در فایل XLSX ذخیره میکند. وقتی فایل ذخیرهشده در Excel یا LibreOffice باز میشود، آن برنامهها فرمولها را ارزیابی کرده و نتایج محاسبهشده را نمایش میدهند. این کتابخانه در زمان اجرا در Python فرمولها را ارزیابی نمیکند.
Cell ذخیرهسازی فرمول
کلاس Cell فرمولها را در ویژگی formula خود ذخیره میکند، که رشتههای فرمول را میپذیرد و برمیگرداند (مثلاً =A1+B1). ویژگی data_type نشان میدهد که آیا سلول حاوی فرمول، عدد، رشته یا خطا است.
مهم:
worksheet.calculate_formula()یک استاب سازگاری است و فرمولها را ارزیابی نمیکند. ارزیابی فرمولها در Excel یا LibreOffice زمانی که فایل XLSX باز میشود، انجام میشود.
پیادهسازی
Aspose.Cells FOSS امکان پردازش فرمولها را در پایتون از طریق کلاس 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')