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, TableColumnTableStyleInfo
Describe el estilo visual aplicado a una tabla (bandas, resaltado de la primera/última columna).
Examples
TableStyleInfo()Examples
| Examples | Examples | Examples |
|---|---|---|
name | str | Nombre de estilo de tabla de Excel (p. ej., "TableStyleMedium9"). |
show_first_column | bool | True para aplicar formato especial a la primera columna. |
show_last_column | bool | True para aplicar formato especial a la última columna. |
show_row_stripes | bool | True para aplicar bandas alternas en filas. |
show_column_stripes | bool | True para aplicar bandas alternas en columnas. |
TableColumn
Describe una única columna dentro de una tabla.
Examples
TableColumn(col_id: int, name: str)| Examples | Examples | Examples |
|---|---|---|
col_id | int | 1-based column identifier within the table (not the worksheet column index). |
name | str | Texto del encabezado de columna. Debe ser único dentro de la tabla. |
Examples
| Examples | Examples | Examples |
|---|---|---|
id | int | Identificador de columna (solo lectura). |
name | str | Texto del encabezado de columna. |
totals_row_function | str | Función de agregación mostrada en la fila de totales: 'none', 'sum', 'average', 'count', 'countNums', 'max', 'min', 'stdDev', 'var', 'custom'. |
totals_row_label | str | Texto de etiqueta mostrado en la celda de totales cuando totals_row_function es 'none'. |
totals_row_formula | str | Fó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
| Examples | Examples | Examples |
|---|---|---|
name | str | Nombre interno de tabla (debe ser único en el libro, sin espacios). |
display_name | str | Nombre para mostrar que aparece en el cuadro de nombre de Excel. |
ref | str | El rango de celdas cubierto por la tabla (p. ej., "A1:D10"). |
has_headers | bool | True si la primera fila del rango contiene encabezados de columna. |
show_totals_row | bool | True para mostrar una fila de totales de agregación al final de la tabla. |
show_auto_filter | bool | True para mostrar las flechas desplegables del autofiltro en la fila de encabezado. |
table_style_info | TableStyleInfo | Configuraciones de estilo visual (bandas, resaltar columnas). |
columns | list[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
) -> TableCrea 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
) -> TableCrea 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
| Examples | Examples |
|---|---|
count | Nú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")