Table
aspose-cells-foss predstavlja strukturirane tabele u Excelu (ListObjects) kroz Table klasu i TableCollection dostupan kao ws.list_objects. Tabele pružaju imenovane opsege, automatski filter, zaglavlja redova i stilizovanje redova u trakama ugrađeno u XLSX format.
from aspose.cells_foss import TableStyleInfo, TableColumnTableStyleInfo
Opisuje vizuelni stil primenjen na tabelu (trake, isticanje prve/poslednje kolone).
TableStyleInfo()| Name | Type | Access | Description |
|---|---|---|---|
name | `` | Read | Gets the name. |
display_name | `` | Read | Gets the display name. |
ref | `` | Read | Gets the ref. |
has_headers | `` | Read | Gets the has headers. |
show_totals_row | `` | Read | Gets the show totals row. |
show_auto_filter | `` | Read | Gets the show auto filter. |
table_style_info | `` | Read | Gets the table style info. |
columns | list | Read | Gets the columns. |
TableColumn
Opisuje pojedinačnu kolonu unutar tabele.
TableColumn(col_id: int, name: str)| Signature | Description |
|---|---|
__init__(name: str, ref: str, has_headers: bool) | |
copy() |
Table objekti se ne konstrušu direktno. Koristite ws.list_objects.add(...) ili ws.list_objects.add_with_range(...).
TableCollection
TableCollection se pristupa kao ws.list_objects. Upravlja svim strukturiranim tabelama na radnom listu.
add
ws.list_objects.add(
start_row: int,
start_col: int,
end_row: int,
end_col: int,
has_headers: bool = True,
name: str | None = None
) -> TableKreira tabelu nad zadatim opsegom ćelija. Svi indeksi su 0-based. Ako name je None, ime se generiše automatski (npr., "Table1").
add_with_range
ws.list_objects.add_with_range(
cell_range: str,
name: str | None = None,
has_headers: bool = True
) -> TableKreira tabelu iz A1‑stila niza opsega (npr., "A1:D10"). Čitljivije od add() za hardkodirane opsege.
Svojstva i iteracija
Sledeći primer upisuje skup podataka o inventaru proizvoda i pretvara ga u stilizovanu Excel tabelu sa redom za ukupne vrednosti.
from aspose.cells_foss import Workbook
wb = Workbook()
ws = wb.worksheets[0]
ws.name = "Inventory"
# Write header and data rows
headers = ["SKU", "Product", "Qty", "Unit Price"]
rows = [
["A001", "Widget Alpha", 150, 12.99],
["A002", "Widget Beta", 80, 24.50],
["A003", "Gadget Gamma", 45, 49.99],
["A004", "Gadget Delta", 210, 8.75],
]
for col, h in enumerate(headers):
ws.cells[0][col].put_value(h)
for row_i, row in enumerate(rows, start=1):
for col_i, val in enumerate(row):
ws.cells[row_i][col_i].put_value(val)
# Create a table over A1:D5
table = ws.list_objects.add_with_range("A1:D5", name="InventoryTable")
# Configure style
table.table_style_info.name = "TableStyleMedium9"
table.table_style_info.show_row_stripes = True
table.table_style_info.show_first_column = False
table.table_style_info.show_last_column = False
# Add a totals row with sum on Qty and Unit Price columns
table.show_totals_row = True
table.columns[2].totals_row_function = "sum" # Qty
table.columns[3].totals_row_function = "sum" # Unit Price
table.columns[0].totals_row_label = "Total"
wb.save("inventory_table.xlsx")