Arbeiten mit Zellen
Übersicht über die
Jedes Arbeitsblatt zeigt eine cells Sammlung, die Excel-artige Adresszeilen abbildet (wie z. B. "A1", "B3") bis zu Cell Sie erreichen eine Zelle direkt über das Subskriptsystem:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Access a cell by address
cell = ws.cells["A1"]Werte, Formeln und Stilinformationen werden alle live auf der Cell Sie können. entweder eine Zelle an Ort und Stelle zu verändern, indem sie auf ihre .value oder .formula Eigentum, oder die Zelle vollständig ersetzen, indem eine neue Zellzelle zugewiesen wird. Cell Die Angabe der Adresse.
Lesen und Schreiben von Werten
Zuweisung an: cell.value Um eine Zeichenfolge, ganze Zahl oder Float zu schreiben. Lesen Sie die gleiche Ich habe das Haus wiederhergestellt, um alles zurückzubekommen.
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")Die .value Die Bibliothek speichert die Python-Skalare. Python-Typ as-is; keine implizite Konvertierung erfolgt zur Zeit des Schreibens.
Der Zellbauer wird benutzt
Die Cell Der Konstruktor erlaubt es Ihnen, eine Zelle mit einem Wert (und optional ein) zu erstellen. Die Ergebnisse werden in einem einzelnen Ausdruck angegeben. Cell Einwände gegen die Adress-Subskription, um sie in das Blatt zu platzieren.
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")Das erste Positionsargument zu Cell Wenn Sie die None die Zelle wird ohne Wert gespeichert, was nützlich ist, wenn Sie eine Formel festlegen möchten oder eine explizit leere Zelle anstatt einer fehlenden zu haben.
Formelzellen
Eine Formelzelle speichert eine Excel-kompatible Ausdrucksfolge neben (oder anstelle von) einem statischen Wert. Es gibt zwei Möglichkeiten, einen zu erstellen.
Über den Zellkonstruktor - Pass auf . None als der Wert und die Formel-Zeichenfolge als zweites 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")Über die .formula Eigentum - die Eigenschaft in einer vorhandenen Zelle festlegen:
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")Gemeinsame Formeln Schnelle Referenz
| Zweck der Veranstaltung | Formel-Streifen |
|---|---|
| Summe eines Bereichs | =SUM(A1:A10) |
| Durchschnitt eines Bereichs | =AVERAGE(A1:A10) |
| Höchstwert | =MAX(A1:A10) |
| Mindestwert | =MIN(A1:A10) |
| Nicht leer zählen | =COUNT(A1:A10) |
| Bedingter Wert | =IF(A1>0,"Positive","Non-positive") |
| Suche nach einem Wert. | =VLOOKUP(D1,A1:B10,2,FALSE) |
| Konkadenisierte Zeichenfolgen | =CONCATENATE(A1," ",B1) |
Formelstrings müssen mit beginnen: =.Die Bibliothek speichert sie wörtlich . Excel (oder ein kompatibler Leser) den Ausdruck bewertet, wenn die Datei geöffnet wird.
Iteration über Daten
Verwenden Sie eine Standard-Python-Schleife, um eine Spalte oder Zeile aus einer Liste zu füllen:
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")Die enumerate(iterable, start=N) Musterkarten auf Excel-Zeilen rein weil Excel Zeilen sind 1-basiert. Beginnend bei start=2 Rücklagen für eine Reihe 1 - Ich habe es nicht.
Mischwerte
Das folgende vollständige Beispiel erstellt einen kleinen Datensatz mit einer Textheaderzeile, drei Datenreihen, die Ganzzahlen, Schwimmer und Zeichenfolgen enthalten, sowie eine Formelzeilenreihe, in der die numerischen Spalten zusammengefasst werden.
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")Nach dem Öffnen der Datei in Excel (oder einer anderen kompatiblen Tabellenanwendung) wird die Datenbank auf einem Speicher oder ein Bildschirm angezeigt., die D Spalte und die B5 / D5 Zellen werden die ausgewerteten Ergebnisse anzeigen. der Formel-Ausdrücke.
Tipps für die Kinder
None Wert gegenüber leeren Zeichenfolge
Cell(None) und . ws.cells["A1"].value = None Erstellen einer Zelle ohne gespeicherte Daten Wert - nicht von einer Zelle zu unterscheiden, die in den meisten Tabellenblättern nie geschrieben wurde. Leser. Cell("") oder ws.cells["A1"].value = "" Erstellen Sie eine Zelle, die explizit enthält eine leere Zeichenfolge, die einige Leser und Formeln unterschiedlich behandeln (z. B. die, =COUNT ignoriert leere Stringzellen genauso wie Leerzeichen. Zellen, aber =COUNTA - Sie zählt sie.
Formel-Zeichen gegen statischen Wert
Lesen .value aus einer Zelle zurückgibt Formel None (oder der letzte zwischengespeicherte Wert, wenn: Die Formel wurde vor der Zuordnung festgelegt). Lesen .formula gibt den Wenn Sie zwischen einer Formelzelle und einem Einfachwertzelle bei Ausführung, überprüfen Sie ob ws.cells["A1"].formula ist nicht leer:
cell = ws.cells["A1"]
if cell.formula:
print(f"Formula: {cell.formula}")
else:
print(f"Value: {cell.value}")Siehe auch:
- Referenz für die API: Vollständige Klassen- und Methodenunterlagen für die
aspose.cells_foss - Wissensbasis: Aufgabenorientierte Anleitungen zur Durchführung von Maßnahmen
- Übersicht über das Produkt: Zusammenfassung der Merkmale und Fähigkeiten
- Start / Installation: Pip-Installation und -Einrichtung
- Blog: Einführung von Aspose.Cells FOSS: Übersicht über die Bibliothek und schneller Start