Table

aspose-cells-foss แสดงตารางโครงสร้างของ Excel (ListObjects) ผ่าน Table คลาสและ TableCollection สามารถเข้าถึงได้เป็น ws.list_objects. ตารางให้ช่วงที่ตั้งชื่อ, ตัวกรองอัตโนมัติ, แถวหัวตาราง, และการจัดรูปแบบแถบแถวที่ฝังอยู่ในรูปแบบ XLSX.

Properties: aspose.cells_foss

from aspose.cells_foss import TableStyleInfo, TableColumn

TableStyleInfo

อธิบายสไตล์ภาพที่ใช้กับตาราง (การทำแถบ, การเน้นคอลัมน์แรก/สุดท้าย).

Properties

TableStyleInfo()

Properties

NameTypeAccessDescription
name``ReadGets the name.
display_name``ReadGets the display name.
ref``ReadGets the ref.
has_headers``ReadGets the has headers.
show_totals_row``ReadGets the show totals row.
show_auto_filter``ReadGets the show auto filter.
table_style_info``ReadGets the table style info.
columnslistReadGets the columns.

TableColumn

อธิบายคอลัมน์เดียวภายในตาราง.

Properties

TableColumn(col_id: int, name: str)
SignatureDescription
__init__(name: str, ref: str, has_headers: bool)
copy()

Properties


Properties

Table อ็อบเจ็กต์ไม่ได้ถูกสร้างโดยตรง. ใช้ ws.list_objects.add(...) หรือ ws.list_objects.add_with_range(...).

Properties


TableCollection

TableCollection เข้าถึงได้เป็น ws.list_objects. มันจัดการตารางที่มีโครงสร้างทั้งหมดบนแผ่นงาน.

Properties

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() สำหรับช่วงที่กำหนดแบบคงที่.

คุณสมบัติและการวนซ้ำ


Properties

ตัวอย่างต่อไปนี้เขียนชุดข้อมูลสินค้าคงคลังและแปลงเป็นตาราง 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")

ดูเพิ่มเติม

 ภาษาไทย