Treballant amb Cells
Visió general
Cada full de càlcul exposa una col·lecció cells que assigna cadenes d’adreça d’estil Excel (com ara "A1", "B3") a objectes Cell. Accedeixes a una cel·la directament per subíndex:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Access a cell by address
cell = ws.cells["A1"]Els valors, les fórmules i la informació d’estil es troben tots a l’objecte Cell. Podeu modificar una cel·la in situ escrivint a la seva propietat .value o .formula, o substituir completament la cel·la assignant una nova instància Cell a l’adreça.
Lectura i escriptura de valors
Assigna a cell.value per escriure una cadena, un enter o un float. Llegeix la mateixa
propietat per recuperar el que s’hagi emmagatzemat.
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")La propietat .value accepta qualsevol escalar de Python. La biblioteca emmagatzema el
tipus Python tal com està; no es produeix cap conversió implícita en temps d’escriptura.
Utilitzant el Constructor de Cel·les
El constructor Cell et permet crear una cel·la amb un valor (i opcionalment una
fórmula) en una sola expressió. Assigna l’objecte Cell resultant al
subíndex d’adreça per col·locar-lo al full.
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")El primer argument posicional de Cell és el valor. Quan passeu None, la cel·la s’emmagatzema sense valor, cosa que és útil quan teniu la intenció de definir una fórmula per separat o voleu una cel·la explícitament buida en lloc d’una absent.
Cèl·lules de fórmula
Una cel·la de fórmula emmagatzema una cadena d’expressió compatible amb Excel al costat (o en lloc) d’un valor estàtic. Hi ha dues maneres de crear‑ne una.
Mitjançant el constructor Cell — passa None com a valor i la cadena de fórmula com a segon argument:**
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")Mitjançant la propietat .formula — estableix la propietat en una cel·la existent:
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")Referència ràpida de fórmules comunes
| Propòsit | Cadena de fórmula |
|---|---|
| Suma d’un interval | =SUM(A1:A10) |
| Mitjana d’un interval | =AVERAGE(A1:A10) |
| Valor màxim | =MAX(A1:A10) |
| Valor mínim | =MIN(A1:A10) |
| Compta no buits | =COUNT(A1:A10) |
| Valor condicional | =IF(A1>0,"Positive","Non-positive") |
| Cerca un valor | =VLOOKUP(D1,A1:B10,2,FALSE) |
| Concatena cadenes | =CONCATENATE(A1," ",B1) |
Les cadenes de fórmula han d’iniciar-se amb =. La biblioteca les emmagatzema tal com són; Excel (o un lector compatible) avalua l’expressió quan s’obre el fitxer.
Iterant sobre dades
Utilitzeu un bucle Python estàndard per omplir una columna o fila a partir d’una llista:
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")El patró enumerate(iterable, start=N) s’ajusta netament als números de fila d’Excel perquè les files d’Excel comencen a 1. Començar a start=2 reserva la fila 1 per a una capçalera.
Tipus de valors mixtos
L’exemple complet següent crea un petit conjunt de dades amb una fila d’encapçalament de text, tres files de dades que contenen enters, nombres de coma flotant i cadenes, i una fila de fórmula que resumeix les columnes numèriques.
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")Després d’obrir el fitxer a Excel (o qualsevol aplicació de full de càlcul compatible), la columna D i les cel·les B5 / D5 mostraran els resultats avaluats de les expressions de fórmula.
Consells
None valor vs cadena buida
Cell(None) i ws.cells["A1"].value = None creen una cel·la sense valor emmagatzemat
value — indistinguible d’una cel·la que mai s’ha escrit en la majoria de lectors de fulls de càlcul
lectors. Cell("") o ws.cells["A1"].value = "" creen una cel·la que explícitament
conté una cadena buida, que alguns lectors i fórmules tracten de manera diferent
(per exemple, =COUNT ignora les cel·les de cadena buida de la mateixa manera que ignora les
cel·les en blanc, però =COUNTA les compta).
Cadena de fórmula vs valor estàtic
Llegir .value d’una cel·la de fórmula retorna None (o l’últim valor en memòria cau si
es va establir abans que s’assignés la fórmula). Llegir .formula retorna la
cadena d’expressió. Si necessiteu distingir entre una cel·la de fórmula i una
cel·la de valor simple en temps d’execució, comproveu si ws.cells["A1"].formula no està buida:
cell = ws.cells["A1"]
if cell.formula:
print(f"Formula: {cell.formula}")
else:
print(f"Value: {cell.value}")Vegeu també
- Referència de l’API: Documentació completa de classes i mètodes per a
aspose.cells_foss - Base de coneixement: Guies pràctiques orientades a tasques
- Visió general del producte: Resum de característiques i capacitats
- Començar / Instal·lació: pip install i configuració
- Bloc: Presentant Aspose.Cells FOSS: Visió general de la biblioteca i inici ràpid