Table

Table — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss представляє структуровані таблиці Excel (ListObjects) через Table клас і TableCollection доступний як ws.list_objects. Таблиці забезпечують іменовані діапазони, автофільтр, рядки заголовків та стилізацію рядків з чергуванням, вбудовану у формат XLSX.

Enumerations: aspose.cells_foss

from aspose.cells_foss import TableStyleInfo, TableColumn

TableStyleInfo

Описує візуальний стиль, застосований до таблиці (чергування рядків, підсвічування першого/останнього стовпця).

Enumerations

TableStyleInfo()

Enumerations

EnumerationsEnumerationsEnumerations
namestrНазва стилю таблиці Excel (наприклад,., "TableStyleMedium9").
show_first_columnboolTrue для застосування спеціального форматування до першого стовпця.
show_last_columnboolTrue для застосування спеціального форматування до останнього стовпця.
show_row_stripesboolTrue для застосування чергування рядків.
show_column_stripesboolTrue для застосування чергування смуг стовпців.

TableColumn

Описує окремий стовпець у таблиці.

Enumerations

TableColumn(col_id: int, name: str)
EnumerationsEnumerationsEnumerations
col_idint1-based column identifier within the table (not the worksheet column index).
namestrТекст заголовка стовпця. Має бути унікальним у межах таблиці.

Enumerations

EnumerationsEnumerationsEnumerations
idintІдентифікатор стовпця (тільки для читання).
namestrТекст заголовка стовпця.
totals_row_functionstrАгрегатна функція, що відображається у рядку підсумків: 'none', 'sum', 'average', 'count', 'countNums', 'max', 'min', 'stdDev', 'var', 'custom'.
totals_row_labelstrТекст мітки, що відображається у клітинці підсумків, коли totals_row_function є 'none'.
totals_row_formulastrКористувацька формула, що використовується, коли totals_row_function є 'custom'.

Enumerations

Table об’єкти не створюються безпосередньо. Використовуйте ws.list_objects.add(...) або ws.list_objects.add_with_range(...).

Enumerations

EnumerationsEnumerationsEnumerations
namestrВнутрішнє ім’я таблиці (повинно бути унікальним у робочій книзі, без пробілів).
display_namestrНазва, що відображається у полі імен Excel.
refstrДіапазон клітинок, охоплений таблицею (наприклад,., "A1:D10").
has_headersboolTrue якщо перший рядок діапазону містить заголовки стовпців.
show_totals_rowboolTrue для відображення рядка підсумкових агрегатів у нижній частині таблиці.
show_auto_filterboolTrue щоб показати стрілки випадаючих списків автo-фільтра у рядку заголовка.
table_style_infoTableStyleInfoНалаштування візуального стилю (змінна заливка, підсвічування стовпців).
columnslist[TableColumn]Впорядкований список TableColumn об’єктів (по одному на стовпець таблиці).

TableCollection

TableCollection доступний як ws.list_objects. Він керує всіма структурованими таблицями на листі.

Enumerations

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

Створює таблицю над заданим діапазоном клітинок. Усі індекси є 0-based. Якщо name є None, ім’я генерується автоматично (наприклад,., "Table1").

add_with_range

ws.list_objects.add_with_range(
    cell_range: str,
    name: str | None = None,
    has_headers: bool = True
) -> Table

Створює таблицю з рядка діапазону у форматі A1 (наприклад,., "A1:D10"). Більш читабельно, ніж add() для жорстко закодованих діапазонів.

Властивості та ітерація

EnumerationsEnumerations
countКількість таблиць на цьому листі (тільки для читання).
__len__()Enumerations count.
__iter__()Ітерує всі Table об’єкти.
__getitem__(index)Повертає Table з нульовим індексом index.

Enumerations

Наступний приклад записує набір даних про інвентар продукції та перетворює його у стилізовану таблицю Excel з рядком підсумків.

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

Див. також

 Українська