PageBreak — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss позволяет вставлять ручные разрывы страниц, чтобы контролировать, как лист делится на печатные страницы. Горизонтальные разрывы страниц разделяют лист между строками; вертикальные разрывы страниц разделяют его между столбцами. Оба набора используют 0-based indices.

ImageRenderOptions: aspose.cells_foss

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.worksheets[0]

hpb = ws.horizontal_page_breaks
vpb = ws.vertical_page_breaks

HorizontalPageBreakCollection

Доступно как ws.horizontal_page_breaks. Горизонтальный разрыв страницы, вставленный перед строкой n заставляет лист начинать новую страницу на этой строке при печати.

Все ссылки на строки являются 0-based (строка 0 = строка 1 в Excel).

ImageRenderOptions

add

hpb.add(row_or_cell: int | str) -> int

Добавляет разрыв страницы перед указанной строкой. Возвращает нулевой индекс нового разрыва в коллекции.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
row_or_cellint0-based row index at which to insert the break.
row_or_cellstrСсылка на ячейку в стиле A1; используется строка этой ячейки (например,., "A11" → разрыв перед строкой 10 в нулевой индексации).

remove

hpb.remove(row_or_cell: int | str)

Удаляет разрыв страницы, связанный с указанным индексом строки или ссылкой на ячейку.

remove_at

hpb.remove_at(index: int)

Удаляет разрыв страницы, находящийся на заданной позиции с нулевым индексом в коллекции.

clear

hpb.clear()

Удаляет все горизонтальные разрывы страниц из листа.

to_list

hpb.to_list() -> list

Возвращает простой Python список текущих индексов строк разрывов (целые числа, 0‑based), отсортированных по возрастанию.

Свойства и итерация

ImageRenderOptionsImageRenderOptions
countКоличество горизонтальных разрывов страниц (только для чтения).
__len__()ImageRenderOptions count.
__iter__()Итерирует индексы строк разрывов.
__getitem__(index)Возвращает индекс строки разрыва в позиции index в коллекции.

VerticalPageBreakCollection

Доступно как ws.vertical_page_breaks. Вертикальный разрыв страницы, вставленный перед столбцом n заставляет лист начинать новую страницу в этом столбце при печати.

Все ссылки на столбцы являются 0-based (столбец 0 = столбец A).

ImageRenderOptions

add

vpb.add(column_or_cell: int | str) -> int

Добавляет разрыв страницы перед указанным столбцом. Возвращает нулевой индекс нового разрыва в коллекции.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
column_or_cellint0-based column index at which to insert the break.
column_or_cellstrСсылка на ячейку в стиле A1; используется столбец этой ячейки (например,., "E1" → разрыв перед столбцом 4 в терминах с нулевой нумерацией).

remove

vpb.remove(column_or_cell: int | str)

Удаляет разрыв страницы, связанный с указанным индексом столбца или ссылкой на ячейку.

clear

vpb.clear()

Удаляет все вертикальные разрывы страниц из листа.

to_list

vpb.to_list() -> list

Возвращает простой Python список текущих индексов столбцов разрыва (целые числа, начиная с 0), отсортированных по возрастанию.

Свойства и итерация

ImageRenderOptionsImageRenderOptions
countКоличество вертикальных разрывов страниц (только для чтения).
__len__()ImageRenderOptions count.
__iter__()Итерирует индексы столбцов разрывов.
__getitem__(index)Возвращает индекс столбца разрыва в позиции index в коллекции.

ImageRenderOptions

В следующем примере вставляются горизонтальные разрывы страниц каждые 30 строк, чтобы получить равномерно разделённые печатные страницы в большом отчёте.

from aspose.cells_foss import Workbook

wb = Workbook()
ws = wb.worksheets[0]
ws.name = "AnnualReport"

# Write 120 rows of placeholder data
for row in range(120):
    ws.cells[row][0].put_value(f"Row {row + 1}")
    ws.cells[row][1].put_value(row * 100)

# Insert a page break before rows 30, 60, and 90 (0-based)
ws.horizontal_page_breaks.add(30)
ws.horizontal_page_breaks.add(60)
ws.horizontal_page_breaks.add(90)

print(f"Page breaks at rows: {ws.horizontal_page_breaks.to_list()}")
# Output: Page breaks at rows: [30, 60, 90]

# Add a vertical break to split wide reports after column D (index 4)
ws.vertical_page_breaks.add(4)

wb.save("annual_report_paged.xlsx")

Удаление конкретного разрыва

from aspose.cells_foss import Workbook

wb = Workbook("annual_report_paged.xlsx")
ws = wb.worksheets[0]

# Remove the break at row 60 (0-based)
ws.horizontal_page_breaks.remove(60)

print(f"Remaining breaks: {ws.horizontal_page_breaks.to_list()}")
# Output: Remaining breaks: [30, 90]

wb.save("annual_report_paged.xlsx")

См. также

 Русский