Table — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss representa tabelas estruturadas do Excel (ListObjects) através do Table classe e o TableCollection acessível como ws.list_objects. As tabelas fornecem intervalos nomeados, autofiltro, linhas de cabeçalho e estilo de linhas em faixas incorporado ao formato XLSX.

ImageRenderOptions: aspose.cells_foss

from aspose.cells_foss import TableStyleInfo, TableColumn

TableStyleInfo

Descreve o estilo visual aplicado a uma tabela (faixas, realces da primeira/última coluna).

ImageRenderOptions

TableStyleInfo()

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
namestrNome do estilo de tabela do Excel (por exemplo,., "TableStyleMedium9").
show_first_columnboolTrue para aplicar formatação especial à primeira coluna.
show_last_columnboolTrue para aplicar formatação especial à última coluna.
show_row_stripesboolTrue para aplicar faixas alternadas de linhas.
show_column_stripesboolTrue para aplicar faixas alternadas de colunas.

TableColumn

Descreve uma única coluna dentro de uma tabela.

ImageRenderOptions

TableColumn(col_id: int, name: str)
ImageRenderOptionsImageRenderOptionsImageRenderOptions
col_idint1-based column identifier within the table (not the worksheet column index).
namestrTexto do cabeçalho da coluna. Deve ser exclusivo dentro da tabela.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
idintIdentificador da coluna (somente leitura).
namestrTexto do cabeçalho da coluna.
totals_row_functionstrFunção de agregação exibida na linha de totais: 'none', 'sum', 'average', 'count', 'countNums', 'max', 'min', 'stdDev', 'var', 'custom'.
totals_row_labelstrTexto do rótulo exibido na célula de totais quando totals_row_function é 'none'.
totals_row_formulastrFórmula personalizada usada quando totals_row_function é 'custom'.

ImageRenderOptions

Table os objetos não são construídos diretamente. Use ws.list_objects.add(...) ou ws.list_objects.add_with_range(...).

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
namestrNome interno da tabela (deve ser exclusivo na pasta de trabalho, sem espaços).
display_namestrNome exibido na Caixa de Nome do Excel.
refstrO intervalo de células coberto pela tabela (por exemplo,., "A1:D10").
has_headersboolTrue se a primeira linha do intervalo contém cabeçalhos de coluna.
show_totals_rowboolTrue para exibir uma linha de totais de agregação na parte inferior da tabela.
show_auto_filterboolTrue para mostrar as setas suspensas de auto-filtro na linha de cabeçalho.
table_style_infoTableStyleInfoConfigurações de estilo visual (faixas, realçar colunas).
columnslist[TableColumn]Lista ordenada de TableColumn objetos (um por coluna da tabela).

TableCollection

TableCollection é acessado como ws.list_objects. Ele gerencia todas as tabelas estruturadas em uma planilha.

ImageRenderOptions

adicionar

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

Cria uma tabela sobre o intervalo de células fornecido. Todos os índices são 0-based. Se name é None, um nome é gerado automaticamente (ex.:., "Table1").

add_with_range

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

Cria uma tabela a partir de uma string de intervalo no estilo A1 (ex.:., "A1:D10"). Mais legível que add() para intervalos codificados.

Propriedades e Iteração

ImageRenderOptionsImageRenderOptions
countNúmero de tabelas nesta planilha (somente leitura).
__len__()ImageRenderOptions count.
__iter__()Itera sobre todos os Table objetos.
__getitem__(index)Retorna o Table em base zero index.

ImageRenderOptions

O exemplo a seguir grava um conjunto de dados de inventário de produtos e o converte em uma tabela Excel estilizada com uma linha de totais.

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

Veja Também

 Português