ทำงานกับเซลล์
ภาพรวม
แต่ละแผ่นงานจะเปิดเผย cells คอลเลกชันที่แมปสตริงที่อยู่สไตล์ Excel (เช่น "A1", "B3") ไปยัง Cell วัตถุ คุณสามารถเข้าถึงเซลล์โดยตรงด้วยการใช้ดัชนี:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Access a cell by address
cell = ws.cells["A1"]ค่า, สูตร, และข้อมูลสไตล์ทั้งหมดอยู่บน Cell วัตถุ คุณสามารถ หรือแก้ไขเซลล์โดยตรงโดยการเขียนลงใน .value หรือ .formula property, หรือแทนที่เซลล์ทั้งหมดโดยการกำหนดค่าใหม่ Cell instance ให้กับที่อยู่.
การอ่านและเขียนค่า
Assign to cell.value เพื่อเขียน string, integer, หรือ float. อ่าน property เดียวกัน property เพื่อดึงข้อมูลที่เก็บไว้.
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
##Write a string
ws.cells["A1"].value = "Hello, world"
##Write an integer
ws.cells["A2"].value = 42
##Write a float
ws.cells["A3"].value = 3.14159
##Read values back
print(ws.cells["A1"].value) # Hello, world
print(ws.cells["A2"].value) # 42
print(ws.cells["A3"].value) # 3.14159
workbook.save("values_demo.xlsx")The .value property รับค่า scalar Python ใดก็ได้. ไลบรารีจะเก็บค่า ประเภท Python ตามเดิม; ไม่มีการแปลงโดยอัตโนมัติเกิดขึ้นในขณะเขียน.
การใช้ตัวสร้าง Cell
The Cell constructor ให้คุณสร้างเซลล์ด้วยค่า (และโดยออกรายการ สูตร) ในการแสดงผลเดียวกัน กำหนดผลลัพธ์ที่ได้ Cell อ็อบเจกต์ไปยัง ตัวบ่งชี้ที่อยู่เพื่อวางไว้ในแผ่นงาน.
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Integer cell
ws.cells["A1"] = Cell(42)
##String cell
ws.cells["A2"] = Cell("Revenue")
##Float cell
ws.cells["A3"] = Cell(3.14)
##Explicitly empty cell (no value, no formula)
ws.cells["A4"] = Cell(None)
workbook.save("cell_constructor_demo.xlsx")อาร์กิวเมนต์ตำแหน่งแรกของ Cell คือค่าที่ให้ เมื่อคุณส่ง None ค่า เซลล์จะถูกเก็บโดยไม่มีค่า ซึ่งเป็นประโยชน์เมื่อคุณต้องการตั้งสูตร แยกต่างหาก หรือต้องการเซลล์ที่ว่างเปล่าอย่างชัดเจนแทนที่จะไม่มีเซลล์เลย.
เซลล์สูตร
เซลล์สูตรจะเก็บสตริงนิพจน์ที่เข้ากันได้กับ Excel ควบคู่กับ (หรือแทนที่) ค่าคงที่ มีสองวิธีในการสร้างเซลล์สูตร.
ผ่านตัวสร้าง Cell — ส่ง None เป็นค่าและสตริงสูตร เป็นอาร์กิวเมนต์ที่สอง:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"] = Cell(10)
ws.cells["A2"] = Cell(20)
ws.cells["A3"] = Cell(30)
##Formula via constructor: value=None, formula="=SUM(A1:A3)"
ws.cells["A4"] = Cell(None, "=SUM(A1:A3)")
workbook.save("formula_constructor.xlsx")ผ่าน .formula คุณสมบัติ — ตั้งค่าคุณสมบัติบนเซลล์ที่มีอยู่:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
for i, v in enumerate([5, 10, 15, 20, 25], start=1):
ws.cells[f"A{i}"].value = v
ws.cells["B1"].formula = "=AVERAGE(A1:A5)"
workbook.save("formula_property.xlsx")อ้างอิงสูตรทั่วไปอย่างรวดเร็ว
| วัตถุประสงค์ | สตริงสูตร |
|---|---|
| ผลรวมของช่วง | =SUM(A1:A10) |
| ค่าเฉลี่ยของช่วง | =AVERAGE(A1:A10) |
| ค่าสูงสุด | =MAX(A1:A10) |
| ค่าต่ำสุด | =MIN(A1:A10) |
| นับที่ไม่ว่างเปล่า | =COUNT(A1:A10) |
| ค่าตามเงื่อนไข | =IF(A1>0,"Positive","Non-positive") |
| ค้นหาค่า | =VLOOKUP(D1,A1:B10,2,FALSE) |
| ต่อสตริง | =CONCATENATE(A1," ",B1) |
สตริงสูตรต้องเริ่มต้นด้วย =. ไลบรารีจะเก็บไว้ตามเดิม; Excel (หรือโปรแกรมอ่านที่เข้ากันได้) จะประเมินนิพจน์เมื่อไฟล์ถูกเปิด.
การวนซ้ำข้อมูล
ใช้ลูป Python มาตรฐานเพื่อเติมข้อมูลในคอลัมน์หรือแถวจากรายการ:
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
monthly_sales = [12_500, 14_200, 9_800, 17_600, 21_100, 18_400]
##Write a header
ws.cells["A1"].value = "Monthly Sales"
##Write data starting at row 2 (index 1 → address A2)
for i, val in enumerate(monthly_sales, start=2):
ws.cells[f"A{i}"].value = val
##Write a SUM formula below the data
last_row = 1 + len(monthly_sales) # row index of last data cell
ws.cells[f"A{last_row + 1}"].formula = f"=SUM(A2:A{last_row})"
workbook.save("monthly_sales.xlsx")The enumerate(iterable, start=N) รูปแบบแมปอย่างชัดเจนกับหมายเลขแถวของ Excel เพราะแถวของ Excel เริ่มจาก 1. เริ่มที่ start=2 สงวนแถวที่ 1 สำหรับ หัวเรื่อง.
ค่าประเภทผสม
ตัวอย่างเต็มต่อไปนี้สร้างชุดข้อมูลขนาดเล็กที่มีแถวหัวข้อเป็นข้อความ, แถวข้อมูลสามแถวที่ประกอบด้วยจำนวนเต็ม, จำนวนทศนิยม, และสตริง, และแถวสูตรที่สรุปคอลัมน์เชิงตัวเลข.
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##--- Header row ---
ws.cells["A1"].value = "Product"
ws.cells["B1"].value = "Units Sold"
ws.cells["C1"].value = "Unit Price"
ws.cells["D1"].value = "Revenue"
##--- Data rows ---
##Row 2
ws.cells["A2"] = Cell("Widget A")
ws.cells["B2"] = Cell(120)
ws.cells["C2"] = Cell(9.99)
ws.cells["D2"] = Cell(None, "=B2*C2")
##Row 3
ws.cells["A3"] = Cell("Widget B")
ws.cells["B3"] = Cell(85)
ws.cells["C3"] = Cell(14.50)
ws.cells["D3"] = Cell(None, "=B3*C3")
##Row 4
ws.cells["A4"] = Cell("Widget C")
ws.cells["B4"] = Cell(200)
ws.cells["C4"] = Cell(4.75)
ws.cells["D4"] = Cell(None, "=B4*C4")
##--- Summary row ---
ws.cells["A5"].value = "TOTAL"
ws.cells["B5"] = Cell(None, "=SUM(B2:B4)")
ws.cells["D5"] = Cell(None, "=SUM(D2:D4)")
workbook.save("mixed_types_dataset.xlsx")
print("Saved mixed_types_dataset.xlsx")หลังจากเปิดไฟล์ใน Excel (หรือแอปพลิเคชันสเปรดชีตที่เข้ากันได้ใด ๆ), the D คอลัมน์และ the B5 / D5 เซลล์จะแสดงผลลัพธ์ที่ประเมินแล้ว ของนิพจน์สูตร.
เคล็ดลับ
None ค่าเทียบกับสตริงว่าง
Cell(None) และ ws.cells["A1"].value = None สร้างเซลล์ที่ไม่มีการเก็บค่า ค่า — ไม่สามารถแยกแยะได้จากเซลล์ที่ไม่เคยเขียนในสเปรดชีตส่วนใหญ่ ผู้อ่าน. Cell("") หรือ ws.cells["A1"].value = "" สร้างเซลล์ที่ระบุอย่างชัดเจน มีสตริงว่าง ซึ่งผู้อ่านและสูตรบางอย่างจะจัดการแตกต่างกัน (เช่น, =COUNT ละเลยเซลล์สตริงว่างในลักษณะเดียวกับที่มันละเลยเซลล์ว่าง เซลล์, แต่ =COUNTA นับพวกมัน).
Formula string vs static value
การอ่าน .value จากเซลล์สูตรจะคืนค่า None (หรือค่าที่แคชล่าสุดหาก มีการตั้งค่าก่อนที่สูตรจะถูกกำหนด). การอ่าน .formula คืนค่า สตริงของนิพจน์ หากคุณต้องการแยกแยะระหว่างเซลล์สูตรและ a เซลล์ plain-value ในขณะรันไทม์, ตรวจสอบว่า ws.cells["A1"].formula ไม่เป็นค่าว่าง:
cell = ws.cells["A1"]
if cell.formula:
print(f"Formula: {cell.formula}")
else:
print(f"Value: {cell.value}")ดูเพิ่มเติม
- อ้างอิง API: เอกสารคลาสและเมธอดเต็มสำหรับ
aspose.cells_foss - ฐานความรู้: คู่มือเชิงปฏิบัติที่มุ่งเน้นงาน
- ภาพรวมของผลิตภัณฑ์: สรุปคุณลักษณะและความสามารถ
- เริ่มต้นใช้งาน / การติดตั้ง: การติดตั้งและตั้งค่า pip
- Blog: แนะนำ Aspose.Cells FOSS: ภาพรวมของไลบรารีและการเริ่มต้นอย่างรวดเร็ว