Darbs ar šūnām
Pārskats
Katrs darblapa atklāj cells kolekciju, kas kartē Excel‑stila adreses virknes (piemēram "A1", "B3") uz Cell objektus. Jūs varat piekļūt šūnai tieši, izmantojot apakšrakstu:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Access a cell by address
cell = ws.cells["A1"]Vērtības, formulas un stila informācija visi atrodas uz Cell objekta. Jūs varat vai nu modificēt šūnu uz vietas, rakstot uz tās .value vai .formula īpašību, vai pilnīgi aizstāt šūnu, piešķirot jaunu Cell instanci adresei.
Vērtību lasīšana un rakstīšana
Piešķirt cell.value lai ierakstītu virkni, veselu skaitli vai float. Nolasīt to pašu īpašību, lai atgūtu to, kas tika saglabāts.
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")Šis .value īpašība pieņem jebkuru Python skalāru. Bibliotēka saglabā Python tipu nemainīts; rakstīšanas brīdī netiek veikta neapzināta konvertēšana.
Cell konstruktoru izmantošana
Šis Cell konstruktors ļauj izveidot šūnu ar vērtību (un pēc izvēles a formulu) vienā izteiksmē. Piešķiriet rezultējošo Cell objektu uz adreses apakšrakstu, lai to novietotu darblapā.
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")Pirmais pozicionālais arguments uz Cell ir vērtība. Kad jūs nododat None tas šūna tiek saglabāta bez vērtības, kas ir noderīgi, ja plānojat iestatīt formulu atsevišķi vai vēlaties skaidri tukšu šūnu, nevis trūkstošu.
Formulu šūnas
Formulu šūna saglabā Excel‑savietojamu izteiksmes virkni kopā (vai arī vietā) ar statisku vērtību. Ir divi veidi, kā to izveidot.
Izmantojot Cell konstruktoru — nodot None kā vērtība un formulas virkne kā otrais arguments:
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")Izmantojot .formula īpašība — iestatīt īpašību esošā šūnā:
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")Biežāk izmantoto formulu ātra atsauce
| Mērķis | Formulas virkne |
|---|---|
| Saskaitīt diapazonu | =SUM(A1:A10) |
| Diapazona vidējais | =AVERAGE(A1:A10) |
| Maksimālā vērtība | =MAX(A1:A10) |
| Minimālā vērtība | =MIN(A1:A10) |
| Skaitīt ne‑tukšos | =COUNT(A1:A10) |
| Nosacīta vērtība | =IF(A1>0,"Positive","Non-positive") |
| Meklēt vērtību | =VLOOKUP(D1,A1:B10,2,FALSE) |
| Apvienot virknes | =CONCATENATE(A1," ",B1) |
Formulas virknes jāuzsāk ar =. Bibliotēka saglabā tās tieši kā ir; Excel (vai saderīgs lasītājs) izpilda izteiksmi, kad fails tiek atvērts.
Iterēšana pār datiem
Izmantojiet standarta Python ciklu, lai aizpildītu kolonnu vai rindu no saraksta:
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")Tas enumerate(iterable, start=N) paraugs skaidri atbilst Excel rindu numuriem jo Excel rindas ir 1‑balstītas. Sākot no start=2 rezervē rindu 1 priekš a galvene.
Jauktas vērtību veidi
Sekojošais pilnīgs piemērs izveido mazu datu kopu ar teksta virsraksta rindu, trīs datu rindām, kas satur veselos skaitļus, peldošos punktus un virknes, kā arī formulas rindu, kas apkopo skaitliskās kolonnas.
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")Pēc faila atvēršanas programmā Excel (vai jebkurā saderīgā izklājlapu lietojumprogrammā), tas D kolonna un B5 / D5 šūnas parādīs novērtētos rezultātus no formulas izteiksmēm.
Padomi
None vērtība pret tukšu virkni
Cell(None) un ws.cells["A1"].value = None izveidot šūnu bez saglabāta vērtība — neatšķirama no šūnas, kas lielākajā daļā izklājlapu nekad nav rakstīta lasītāji. Cell("") vai ws.cells["A1"].value = "" izveidot šūnu, kas skaidri satur tukšu virkni, ko daži lasītāji un formulas apstrādā atšķirīgi (piemēram, =COUNT ignorē tukšu virkņu šūnas tāpat kā ignorē tukšas šūnas, bet =COUNTA tos skaita).
Formulas virkne pret statisku vērtību
Nolasot .value no formulas šūnas atgriež None (vai pēdējo kešēto vērtību, ja tā tika iestatīta pirms formulas piešķiršanas). Nolasot .formula atgriež izteiksmes virkni. Ja jums jāatšķir formulas šūna no vienkāršas vērtības šūna izpildlaikā, pārbaudiet, vai ws.cells["A1"].formula nav tukša:
cell = ws.cells["A1"]
if cell.formula:
print(f"Formula: {cell.formula}")
else:
print(f"Value: {cell.value}")Skatiet arī
- API atsauce: Pilna klases un metodes dokumentācija par
aspose.cells_foss - Zināšanu bāze: Uzdevumu orientētas pamācības
- Produkta pārskats: Īss funkciju un iespēju pārskats
- Sākums / Instalēšana: pip instalēšana un iestatīšana
- Blogs: Iepazīstinām ar Aspose.Cells FOSS: Bibliotēkas pārskats un ātrais sākums