ทำงานกับสูตรด้วย 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 ระบุว่าตารางนี้มีสูตร ตัวเลข สตริง หรือข้อผิดพลาด.
สำคัญ:
worksheet.calculate_formula()เป็น compatibility stub และไม่ประมวลผลสูตร. การประเมินสูตรเกิดขึ้นใน 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')