Práce s buňkami
Přehled
Každý pracovní list odhaluje: cells sbírka mapování adresních řetězců ve stylu Excel (např. "A1", "B3") až k Cell Přístup k buňce je přímo pomocí podpísem:
from aspose.cells_foss import Workbook, Cell
workbook = Workbook()
ws = workbook.worksheets[0]
##Access a cell by address
cell = ws.cells["A1"]Hodnoty, vzorce a informace o stylu jsou všechny živé na systému. Cell - Můžete. buď zmutovat buňku na místě tím, že se píše do ní. .value nebo: .formula majetek, nebo zcela nahradit buňku přiřazením nové bužky. Cell Příklad na adresu.
Čtení a psaní hodnot
Přidělit na: cell.value Napsat řetěz, celé číslo nebo plout. Přečtěte si to samé Navrátit majetek zpět, aby se vrátil cokoliv bylo uložené.
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")Úřad pro bezpečnost a ochranu zdraví .value Vlastnost přijímá jakýkoliv Python skalární. Knihovna ukládá Python typ as-is; při psaní se nepřihodí žádné implicitní konverze.
Použití konstruktoru buněk
Úřad pro bezpečnost a ochranu zdraví Cell konstruktor umožňuje vytvořit buňku s hodnotou (a volitelně a) Výsledek se přidělí v čísle: Cell Námitky proti adresní podpis, který je umístěn do listu.
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")První poziční argument k Cell Je to hodnota. Když projdete None Částka: buňka je uložená bez hodnoty, což je užitečné, když máte v úmyslu nastavit vzorec nebo chcete jasně prázdnou buňku spíše než chybějící.
Části vzorce
V buňce vzorce se vedle (nebo místo) statické hodnoty ukládá řetěz výrazů kompatibilních s Excelem. Existuje dva způsoby, jak ji vytvořit.
Prostřednictvím konstruktoru Cell -Prosím. None jako hodnota a řetěz vzorce jako druhý 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")Prostřednictvím: .formula majetek - nastavit vlastnost na existující buňku:
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")Společná vzorce Rychlý odkaz
| Účel: | Číslo vzorce |
|---|---|
| Součet rozmezí | =SUM(A1:A10) |
| Průměr rozmezí | =AVERAGE(A1:A10) |
| Maximální hodnota | =MAX(A1:A10) |
| Minimální hodnota | =MIN(A1:A10) |
| Počítání neprázdné | =COUNT(A1:A10) |
| Podmínková hodnota | =IF(A1>0,"Positive","Non-positive") |
| Hledání hodnoty | =VLOOKUP(D1,A1:B10,2,FALSE) |
| Konkatenované řetězce | =CONCATENATE(A1," ",B1) |
Režim formul musí začít na: =.Knihovna je ukládá doslova . Excel . (nebo kompatibilní čtenář) vyhodnocuje výraz při otevření souboru.
Iterování dat
Použijte standardní Pythonovou smyčku k vyplnění sloupce nebo řádku ze seznamu:
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")Úřad pro bezpečnost a ochranu zdraví enumerate(iterable, start=N) Mapy vzorů čistě na čísla řádků programu Excel protože řádky Excela jsou založeny na 1. Začínáme od start=2 rezervy řádek 1 pro a - Ne, to je…
Typy smíšených hodnot
Následující kompletní příklad vytváří malý soubor dat s řádkem textu, třemi datařady obsahujícími celá čísla, plovoucí a režijní řády a řadou vzorce shrnujícím číselné sloupce.
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")Po otevření souboru v Excelu (nebo jakékoli kompatibilní aplikaci pro tabulky) je třeba použít:, Částka: D sloupce a B5 / D5 Buňky zobrazí vyhodnocené výsledky. z výrazných vzorců.
Tipy.
None hodnota vs. prázdný řetěz
Cell(None) a) ws.cells["A1"].value = None vytvořit buňku bez ukládání hodnota - nerozlišitelná od buňky, která nebyla nikdy zapsána ve většině tabulek. čtenáři. Cell("") nebo: ws.cells["A1"].value = "" vytvořit buňku, která explicitně obsahuje prázdný řetěz, který některé čtenáře a vzorce zachází jinak (například:, =COUNT ignoruje prázdné řetězcovité buňky stejným způsobem, jak ignorují prázdnou. buňky, ale =COUNTA počítá je).
Základní hodnota vzoru:
Čtení .value z buňky vzoru se vrací None (nebo poslední ukládaná hodnota, pokud: před přiřazením vzorce). Čtení .formula vrací se číslo Pokud potřebujete rozlišit mezi buňkou vzorce a celku s prostou hodnotou při spuštění, zkontrolujte, zda ws.cells["A1"].formula není prázdný:
cell = ws.cells["A1"]
if cell.formula:
print(f"Formula: {cell.formula}")
else:
print(f"Value: {cell.value}")Viz také:
- Odkaz na API: Úplná dokumentace třídy a metody pro:
aspose.cells_foss - Základní znalosti:Příručky pro provádění jednotlivých úkolů
- Přehled produktu: Souhrnnost vlastností a schopností
- Začínání / instalace: instalace a nastavení pip
- Blog: Představuji Aspose.Cells FOSS: Přehled knihovny a rychlý start