Työskentely solujen kanssa

Työskentely solujen kanssa

Yleiskatsaus

Jokainen laskentataulukko paljastaa cells kokoelman, joka kartoittaa Excel-tyyliset osoiteketjut (kuten "A1", "B3") kohdistaa Cell objekteihin. Pääset soluun suoraan indeksoimalla:

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

##Access a cell by address
cell = ws.cells["A1"]

Arvot, kaavat ja tyyliin liittyvät tiedot kaikki sijaitsevat Cell objektissa. Voit joko muokata solua paikallisesti kirjoittamalla sen .value tai .formula ominaisuuteen, tai korvata solu kokonaan asettamalla uusi Cell instanssi osoitteeseen.


Arvojen lukeminen ja kirjoittaminen

Aseta cell.value kirjoittaaksesi merkkijonon, kokonaisluvun tai liukuluvun. Lue sama ominaisuus takaisin hakeaksesi mitä tahansa oli tallennettu.

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")

Se .value property hyväksyy minkä tahansa Python skalaarin. Kirjasto tallentaa Python tyyppi sellaisenaan; implisiittistä muunnosta ei tapahdu kirjoitusajankohtana.


Cell-rakentajan käyttäminen

Se Cell konstruktori antaa sinun luoda solun arvolla (ja valinnaisesti kaava) yhdessä lausekkeessa. Määritä syntyvä Cell objekti kohteeseen osoiteindeksi sijoittaaksesi sen taulukkoon.

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")

Ensimmäinen sijaintiargumentti Cell on arvo. Kun annat None se solu tallennetaan ilman arvoa, mikä on hyödyllistä, kun aiot asettaa kaavan erikseen tai haluat nimenomaan tyhjän solun sen sijaan, että solu puuttuisi.


Kaavasolut

Kaavasolu tallentaa Excel-yhteensopivan lauseketta merkkijonona staattisen arvon rinnalle (tai sen sijaan). On kaksi tapaa luoda sellainen.

Cell-rakentimen kautta — anna None arvona ja kaavastringinä toisena argumenttina:

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")

Kautta .formula ominaisuuden — aseta ominaisuus olemassa olevaan soluun:

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")

Yleisten kaavojen pikaopas

TarkoitusKaavan merkkijono
Summaa alue=SUM(A1:A10)
Alueen keskiarvo=AVERAGE(A1:A10)
Suurin arvo=MAX(A1:A10)
Vähimmäisarvo=MIN(A1:A10)
Laske ei-tyhjät=COUNT(A1:A10)
Ehdollinen arvo=IF(A1>0,"Positive","Non-positive")
Hae arvo=VLOOKUP(D1,A1:B10,2,FALSE)
Yhdistä merkkijonot=CONCATENATE(A1," ",B1)

Kaavamerkkijonojen on alettava =. Kirjasto tallentaa ne tarkalleen sellaisina; Excel (tai yhteensopiva lukija) arvioi lausekkeen, kun tiedosto avataan.


Datan läpikäynti

Käytä tavallista Python-silmukkaa täyttääksesi sarakkeen tai rivin listasta:

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")

Tämä enumerate(iterable, start=N) malli sopii sujuvasti Excelin rivinumeroihin koska Excelin rivit alkavat numerosta 1. Aloittamalla kohdasta start=2 varaa rivin 1 otsikko.


Sekalaiset arvo-tyypit

Seuraava täydellinen esimerkki luo pienen tietojoukon, jossa on tekstinen otsikkorivi, kolme datariviä, jotka sisältävät kokonaislukuja, liukulukuja ja merkkijonoja, sekä kaavarivi, joka tiivistää numeeriset sarakkeet.

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")

Kun tiedosto avataan Excelissä (tai missä tahansa yhteensopivassa taulukkolaskentaohjelmassa), tämä D sarake ja the B5 / D5 solut näyttävät arvioidut tulokset kaavojen lausekkeiden.


Vinkkejä

None arvo vs tyhjä merkkijono

Cell(None) ja ws.cells["A1"].value = None luo solu, jossa ei ole tallennettua arvo — erottamaton solusta, jota ei ole koskaan kirjoitettu useimmissa taulukkolaskentaohjelmissa lukijoille. Cell("") tai ws.cells["A1"].value = "" luo solu, joka eksplisiittisesti sisältää tyhjän merkkijonon, jonka jotkut lukijat ja kaavat käsittelevät eri tavalla (esimerkiksi, =COUNT ohittaa tyhjämerkkijono-solut samalla tavalla kuin se ohittaa tyhjät solut, mutta =COUNTA laskee ne).

Kaava-merkkijono vs staattinen arvo

Lukeminen .value kaavasolusta palauttaa None (tai viimeisen välimuistissa olevan arvon, jos se asetettiin ennen kuin kaava määritettiin). Lukeminen .formula palauttaa lausekkeen merkkijonon. Jos sinun täytyy erottaa kaavasolu ja a plain-value-solun suorituksen aikana, tarkista, onko ws.cells["A1"].formula ei ole tyhjä:

cell = ws.cells["A1"]
if cell.formula:
    print(f"Formula: {cell.formula}")
else:
    print(f"Value: {cell.value}")

Katso myös

 Suomi