Table

Table — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss جداول ساختاریافته اکسل (ListObjects) را از طریق Table کلاس و TableCollection قابل دسترسی به عنوان ws.list_objects. جداول محدوده‌های نام‌دار، فیلتر خودکار، ردیف‌های سرصفحه، و استایل‌بندی ردیف‌های نواربندی‌شده را که در قالب XLSX تعبیه شده‌اند، فراهم می‌کنند.

ImageRenderOptions: aspose.cells_foss

from aspose.cells_foss import TableStyleInfo, TableColumn

TableStyleInfo

استایل بصری اعمال‌شده بر یک جدول را توصیف می‌کند (نواربندی، برجسته‌سازی ستون اول/آخر).

ImageRenderOptions

TableStyleInfo()

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
namestrنام استایل جدول اکسل (مثلاً،., "TableStyleMedium9").
show_first_columnboolTrue برای اعمال قالب‌بندی ویژه به ستون اول.
show_last_columnboolTrue برای اعمال قالب‌بندی ویژه به ستون آخر.
show_row_stripesboolTrue برای اعمال نواربندی متناوب ردیف‌ها.
show_column_stripesboolTrue برای اعمال نواربندی متناوب ستون‌ها.

TableColumn

یک ستون منفرد درون جدول را توصیف می‌کند.

ImageRenderOptions

TableColumn(col_id: int, name: str)
ImageRenderOptionsImageRenderOptionsImageRenderOptions
col_idint1-based column identifier within the table (not the worksheet column index).
namestrمتن سرستون. باید درون جدول یکتا باشد.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
idintشناسه ستون (فقط‑خواندنی).
namestrمتن سرصفحه ستون.
totals_row_functionstrتابع تجمیعی که در سطر مجموع‌ها نمایش داده می‌شود: 'none', 'sum', 'average', 'count', 'countNums', 'max', 'min', 'stdDev', 'var', 'custom'.
totals_row_labelstrمتن برچسبی که در سلول مجموع‌ها نمایش داده می‌شود وقتی totals_row_function است 'none'.
totals_row_formulastrفرمول سفارشی که استفاده می‌شود وقتی totals_row_function است 'custom'.

ImageRenderOptions

Table اشیاء به‌صورت مستقیم ساخته نمی‌شوند. از ws.list_objects.add(...) یا ws.list_objects.add_with_range(...).

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
namestrنام جدول داخلی (باید در کتاب کار یکتا باشد و بدون فاصله).
display_namestrنام نمایشی که در Excel Name Box نشان داده می‌شود.
refstrمحدوده سلولی که توسط جدول پوشش داده می‌شود (مثلاً،., "A1:D10").
has_headersboolTrue اگر ردیف اول محدوده شامل سرستون‌ها باشد.
show_totals_rowboolTrue برای نمایش یک ردیف مجموع‌های تجمیعی در پایین جدول.
show_auto_filterboolTrue برای نمایش پیکان‌های کشویی فیلتر خودکار در ردیف سرصفحه.
table_style_infoTableStyleInfoتنظیمات سبک بصری (banding, highlight columns).
columnslist[TableColumn]فهرست مرتب از TableColumn اشیاء (یک مورد برای هر ستون جدول).

TableCollection

TableCollection به صورت ws.list_objects. این مورد تمام جداول ساختاریافته را در یک برگه کاری مدیریت می‌کند.

ImageRenderOptions

افزودن

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() برای بازه‌های ثابت.

ویژگی‌ها و تکرار

ImageRenderOptionsImageRenderOptions
countتعداد جداول در این برگه کاری (فقط‑خواندنی).
__len__()ImageRenderOptions count.
__iter__()بر روی همه‌ی Table اشیاء.
__getitem__(index)باز می‌گرداند Table در مبنای صفر index.

ImageRenderOptions

مثال زیر یک مجموعه داده موجودی محصول را می‌نویسد و آن را به یک جدول اکسل استایل‌دار با سطر مجموع‌ها تبدیل می‌کند.

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

همچنین ببینید

 فارسی