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, TableColumnTableStyleInfo
استایل بصری اعمالشده بر یک جدول را توصیف میکند (نواربندی، برجستهسازی ستون اول/آخر).
ImageRenderOptions
TableStyleInfo()ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
name | str | نام استایل جدول اکسل (مثلاً،., "TableStyleMedium9"). |
show_first_column | bool | True برای اعمال قالببندی ویژه به ستون اول. |
show_last_column | bool | True برای اعمال قالببندی ویژه به ستون آخر. |
show_row_stripes | bool | True برای اعمال نواربندی متناوب ردیفها. |
show_column_stripes | bool | True برای اعمال نواربندی متناوب ستونها. |
TableColumn
یک ستون منفرد درون جدول را توصیف میکند.
ImageRenderOptions
TableColumn(col_id: int, name: str)| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
col_id | int | 1-based column identifier within the table (not the worksheet column index). |
name | str | متن سرستون. باید درون جدول یکتا باشد. |
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
id | int | شناسه ستون (فقط‑خواندنی). |
name | str | متن سرصفحه ستون. |
totals_row_function | str | تابع تجمیعی که در سطر مجموعها نمایش داده میشود: 'none', 'sum', 'average', 'count', 'countNums', 'max', 'min', 'stdDev', 'var', 'custom'. |
totals_row_label | str | متن برچسبی که در سلول مجموعها نمایش داده میشود وقتی totals_row_function است 'none'. |
totals_row_formula | str | فرمول سفارشی که استفاده میشود وقتی totals_row_function است 'custom'. |
ImageRenderOptions
Table اشیاء بهصورت مستقیم ساخته نمیشوند. از ws.list_objects.add(...) یا ws.list_objects.add_with_range(...).
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
name | str | نام جدول داخلی (باید در کتاب کار یکتا باشد و بدون فاصله). |
display_name | str | نام نمایشی که در Excel Name Box نشان داده میشود. |
ref | str | محدوده سلولی که توسط جدول پوشش داده میشود (مثلاً،., "A1:D10"). |
has_headers | bool | True اگر ردیف اول محدوده شامل سرستونها باشد. |
show_totals_row | bool | True برای نمایش یک ردیف مجموعهای تجمیعی در پایین جدول. |
show_auto_filter | bool | True برای نمایش پیکانهای کشویی فیلتر خودکار در ردیف سرصفحه. |
table_style_info | TableStyleInfo | تنظیمات سبک بصری (banding, highlight columns). |
columns | list[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() برای بازههای ثابت.
ویژگیها و تکرار
| ImageRenderOptions | ImageRenderOptions |
|---|---|
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")