Table — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss representa las tablas estructuradas de Excel (ListObjects) a través de Table clase y el TableCollection accesible como ws.list_objects. Las tablas proporcionan rangos con nombre, autofiltro, filas de encabezado y estilo de filas con bandas incorporado en el formato XLSX.

Examples: aspose.cells_foss

from aspose.cells_foss import TableStyleInfo, TableColumn

TableStyleInfo

Describe el estilo visual aplicado a una tabla (bandas, resaltado de la primera/última columna).

Examples

TableStyleInfo()

Examples

ExamplesExamplesExamples
namestrNombre de estilo de tabla de Excel (p. ej., "TableStyleMedium9").
show_first_columnboolTrue para aplicar formato especial a la primera columna.
show_last_columnboolTrue para aplicar formato especial a la última columna.
show_row_stripesboolTrue para aplicar bandas alternas en filas.
show_column_stripesboolTrue para aplicar bandas alternas en columnas.

TableColumn

Describe una única columna dentro de una tabla.

Examples

TableColumn(col_id: int, name: str)
ExamplesExamplesExamples
col_idint1-based column identifier within the table (not the worksheet column index).
namestrTexto del encabezado de columna. Debe ser único dentro de la tabla.

Examples

ExamplesExamplesExamples
idintIdentificador de columna (solo lectura).
namestrTexto del encabezado de columna.
totals_row_functionstrFunción de agregación mostrada en la fila de totales: 'none', 'sum', 'average', 'count', 'countNums', 'max', 'min', 'stdDev', 'var', 'custom'.
totals_row_labelstrTexto de etiqueta mostrado en la celda de totales cuando totals_row_function es 'none'.
totals_row_formulastrFórmula personalizada utilizada cuando totals_row_function es 'custom'.

Examples

Table los objetos no se construyen directamente. Use ws.list_objects.add(...) o ws.list_objects.add_with_range(...).

Examples

ExamplesExamplesExamples
namestrNombre interno de tabla (debe ser único en el libro, sin espacios).
display_namestrNombre para mostrar que aparece en el cuadro de nombre de Excel.
refstrEl rango de celdas cubierto por la tabla (p. ej., "A1:D10").
has_headersboolTrue si la primera fila del rango contiene encabezados de columna.
show_totals_rowboolTrue para mostrar una fila de totales de agregación al final de la tabla.
show_auto_filterboolTrue para mostrar las flechas desplegables del autofiltro en la fila de encabezado.
table_style_infoTableStyleInfoConfiguraciones de estilo visual (bandas, resaltar columnas).
columnslist[TableColumn]Lista ordenada de TableColumn objetos (uno por columna de tabla).

TableCollection

TableCollection se accede como ws.list_objects. Gestiona todas las tablas estructuradas en una hoja de cálculo.

Examples

agregar

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

Crea una tabla sobre el rango de celdas dado. Todos los índices son 0-based. Si name es None, se genera un nombre automáticamente (p., ej., "Table1").

add_with_range

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

Crea una tabla a partir de una cadena de rango al estilo A1 (p., ej., "A1:D10"). Más legible que add() para rangos codificados.

Propiedades e Iteración

ExamplesExamples
countNúmero de tablas en esta hoja de cálculo (solo lectura).
__len__()Examples count.
__iter__()Itera sobre todos los Table objetos.
__getitem__(index)Devuelve el Table en base cero index.

Examples

El siguiente ejemplo escribe un conjunto de datos de inventario de productos y lo convierte en una tabla de Excel con estilo y una fila de totales.

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

Ver también

 Español