Cellákkal való munka
Áttekintés
Minden munkalap egy cells gyűjteményt tesz elérhetővé, amely Excel‑stílusú címkarakterláncokat (például "A1", "B3") térképez Cell objektumokra. Egy cellához közvetlenül a szubscript használatával férhet hozzá:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Access a cell by address
cell = ws.cells["A1"]Az értékek, képletek és stílusinformációk mind a Cell objektumon élnek. Ön vagy módosíthat egy cellát helyben, ha beleírja a .value vagy .formula tulajdonságba, vagy teljesen kicserélheti a cellát egy új Cell példány hozzárendelésével a címhez.
Értékek olvasása és írása
Hozzárendelés a cell.value -hez, hogy karakterláncot, egész számot vagy lebegőpontos számot írjon. Olvassa vissza ugyanazt a tulajdonságot, hogy visszakapja a tárolt értéket.
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")A .value property bármilyen Python skalárt fogad el. A könyvtár a Python típust változatlanul; írási időben nem történik implicit konverzió.
A Cell konstruktor használata
A Cell constructor lehetővé teszi, hogy cellát hozz létre egy értékkel (és opcionálisan egy képlet) egyetlen kifejezésben. Rendeld hozzá a kapott Cell objektumot a cím alindexet, hogy a lapba helyezd.
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")Az első pozicionális argumentum a Cell az érték. Amikor átadod None a cellát érték nélkül tárolja, ami hasznos, ha képletet szeretnél beállítani külön, vagy ha kifejezetten üres cellát szeretnél, a hiányzó helyett.
Képletcellák
A képletcellában egy Excel-kompatibilis kifejezés karakterlánc tárolódik egy statikus érték mellett (vagy helyette). Két módon hozható létre.
A Cell konstruktoron keresztül — add át None értékként, és a képlet karakterláncát második argumentumként:
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")A .formula tulajdonság — állítsd be a tulajdonságot egy meglévő cellá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")Gyakori képletek gyorsreferenciája
| Cél | Képlet karakterlánc |
|---|---|
| Tartomány összege | =SUM(A1:A10) |
| Tartomány átlaga | =AVERAGE(A1:A10) |
| Legnagyobb érték | =MAX(A1:A10) |
| Minimum érték | =MIN(A1:A10) |
| Nem üres elemek száma | =COUNT(A1:A10) |
| Feltételes érték | =IF(A1>0,"Positive","Non-positive") |
| Érték keresése | =VLOOKUP(D1,A1:B10,2,FALSE) |
| Karakterláncok összefűzése | =CONCATENATE(A1," ",B1) |
A képlet karakterláncoknak a következővel kell kezdődniük =. A könyvtár szó szerint tárolja őket; az Excel (vagy egy kompatibilis olvasó) kiértékeli a kifejezést, amikor a fájlt megnyitják.
Adatok iterálása
Használjon egy szabványos Python ciklust egy oszlop vagy sor feltöltéséhez egy listából:
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")A enumerate(iterable, start=N) minta tisztán leképezhető az Excel sorokra mivel az Excel sorok 1-től kezdődnek. Kezdve a start=2 az 1. sort fenntartja egy fejlécnek.
Vegyes értéktípusok
Az alábbi teljes példa egy kis adathalmazt hoz létre egy szöveges fejléc sorral, három adat sorral, amelyek egész számokat, lebegőpontos számokat és karakterláncokat tartalmaznak, valamint egy képlet sorral, amely összegzi a numerikus oszlopokat.
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")A fájl Excelben (vagy bármely kompatibilis táblázatkezelő alkalmazásban) történő megnyitása után, a D oszlop és a B5 / D5 a cellák megjelenítik a kiértékelt eredményeket a képletkifejezések eredményeit.
Tippek
None érték vs üres karakterlánc
Cell(None) és ws.cells["A1"].value = None hozz létre egy cellát tárolt érték nélkül érték — megkülönböztethetetlen egy olyan cellától, amelyet a legtöbb táblázatkezelőben soha nem írtak olvasók. Cell("") vagy ws.cells["A1"].value = "" hozz létre egy cellát, amely kifejezetten üres karakterláncot tartalmaz, amelyet egyes olvasók és képletek másként kezelnek (például, =COUNT figyelmen kívül hagyja az üres karakterláncú cellákat ugyanúgy, ahogy a üres cellákat, de =COUNTA számolja őket).
Képlet karakterlánc vs statikus érték
Olvasás .value egy képletcellából visszaadja None (vagy az utolsó gyorsítótárazott értéket, ha azt beállították, mielőtt a képletet hozzárendelték). Olvasás .formula visszaadja a kifejezés karakterláncot. Ha meg kell különböztetned egy képletcellát és egy plain-value cell a futásidőben, ellenőrizze, hogy ws.cells["A1"].formula nem üres:
cell = ws.cells["A1"]
if cell.formula:
print(f"Formula: {cell.formula}")
else:
print(f"Value: {cell.value}")Lásd még
- API-referencia: Teljes osztály- és metódusdokumentáció a
aspose.cells_foss - Tudásbázis: Feladatorientált útmutatók
- Termék áttekintés: Funkciók és képességek összefoglalása
- Első lépések / Telepítés: pip install és beállítás
- Blog: Bemutatjuk a Aspose.Cells FOSS-t: Könyvtár áttekintése és gyors kezdés