Table — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss mewakili jadual berstruktur Excel (ListObjects) melalui the Table kelas dan the TableCollection boleh diakses sebagai ws.list_objects. Jadual menyediakan julat bernama, penapis automatik, baris tajuk, dan gaya baris berjalur yang terbina dalam format XLSX.

ImageRenderOptions: aspose.cells_foss

from aspose.cells_foss import TableStyleInfo, TableColumn

TableStyleInfo

Menerangkan gaya visual yang diterapkan pada jadual (jalur, penyorotan lajur pertama/terakhir).

ImageRenderOptions

TableStyleInfo()

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
namestrNama gaya jadual Excel (contoh,)., "TableStyleMedium9").
show_first_columnboolTrue untuk menggunakan pemformatan khas pada lajur pertama.
show_last_columnboolTrue untuk menggunakan pemformatan khas pada lajur terakhir.
show_row_stripesboolTrue untuk menggunakan pembandingan baris berselang.
show_column_stripesboolTrue untuk menggunakan pembandingan lajur berselang.

TableColumn

Menerangkan satu lajur dalam jadual.

ImageRenderOptions

TableColumn(col_id: int, name: str)
ImageRenderOptionsImageRenderOptionsImageRenderOptions
col_idint1-based column identifier within the table (not the worksheet column index).
namestrTeks pengepala lajur. Mesti unik dalam jadual.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
idintPengenal lajur (baca-sahaja).
namestrTeks pengepala lajur.
totals_row_functionstrFungsi agregat yang dipaparkan dalam baris jumlah: 'none', 'sum', 'average', 'count', 'countNums', 'max', 'min', 'stdDev', 'var', 'custom'.
totals_row_labelstrTeks label yang dipaparkan dalam sel jumlah apabila totals_row_function adalah 'none'.
totals_row_formulastrFormula tersuai yang digunakan apabila totals_row_function adalah 'custom'.

ImageRenderOptions

Table objek tidak dibina secara langsung. Gunakan ws.list_objects.add(...) atau ws.list_objects.add_with_range(...).

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
namestrNama jadual dalaman (mesti unik dalam buku kerja, tiada ruang).
display_namestrNama paparan yang ditunjukkan dalam Kotak Nama Excel.
refstrJulat sel yang diliputi oleh jadual (contohnya,., "A1:D10").
has_headersboolTrue jika baris pertama julat mengandungi tajuk lajur.
show_totals_rowboolTrue untuk memaparkan baris jumlah agregasi di bahagian bawah jadual.
show_auto_filterboolTrue untuk menunjukkan anak panah penapis automatik dalam baris tajuk.
table_style_infoTableStyleInfoTetapan gaya visual (pembandingan, sorot lajur).
columnslist[TableColumn]Senarai teratur bagi TableColumn objek (satu bagi setiap lajur jadual).

TableCollection

TableCollection diakses sebagai ws.list_objects. Ia mengurus semua jadual berstruktur pada helaian kerja.

ImageRenderOptions

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

Mencipta jadual ke atas julat sel yang diberikan. Semua indeks adalah 0-based. Jika name adalah None, nama dijana secara automatik (contohnya,., "Table1").

add_with_range

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

Mencipta jadual daripada rentetan julat gaya A1 (contohnya,., "A1:D10"). Lebih mudah dibaca berbanding add() untuk julat yang dikodkan secara keras.

Sifat dan Iterasi

ImageRenderOptionsImageRenderOptions
countBilangan jadual pada lembar kerja ini (baca sahaja).
__len__()ImageRenderOptions count.
__iter__()Iterasi ke atas semua Table objek.
__getitem__(index)Mengembalikan Table pada asas sifar index.

ImageRenderOptions

Contoh berikut menulis set data inventori produk dan menukarnya menjadi jadual Excel bergaya dengan baris jumlah.

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

Lihat Juga

 Bahasa Melayu