PageBreak

PageBreak — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss umożliwia wstawianie ręcznych podziałów stron, aby kontrolować, jak arkusz jest dzielony na wydrukowane strony. Poziome podziały stron dzielą arkusz pomiędzy wierszami; pionowe podziały stron dzielą go pomiędzy kolumnami. Obie kolekcje używają 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

Dostępne jako ws.horizontal_page_breaks. Poziomy podział strony wstawiony przed wierszem n sprawia, że arkusz rozpoczyna nową stronę w tym wierszu podczas drukowania.

Wszystkie odwołania do wierszy są 0-based (wiersz 0 = wiersz 1 w Excelu).

ImageRenderOptions

dodaj

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

Dodaje podział strony przed określonym wierszem. Zwraca zerowy indeks nowego podziału w kolekcji.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
row_or_cellint0-based row index at which to insert the break.
row_or_cellstrOdwołanie do komórki w stylu A1; używany jest wiersz tej komórki (np., "A11" → podział przed wierszem 10 w indeksowaniu zerowym).

usuń

hpb.remove(row_or_cell: int | str)

Usuwa podział strony powiązany z podanym indeksem wiersza lub odwołaniem do komórki.

remove_at

hpb.remove_at(index: int)

Usuwa podział strony na podanej zerowej pozycji w kolekcji.

wyczyść

hpb.clear()

Usuwa wszystkie poziome podziały stron z arkusza.

to_list

hpb.to_list() -> list

Zwraca zwykłą listę Python bieżących indeksów wierszy podziałów (liczby całkowite zerowe), posortowaną w kolejności rosnącej.

Właściwości i iteracja

ImageRenderOptionsImageRenderOptions
countLiczba poziomych podziałów stron (tylko do odczytu).
__len__()ImageRenderOptions count.
__iter__()Iteruje po indeksach wierszy podziału.
__getitem__(index)Zwraca indeks wiersza podziału na pozycji index w kolekcji.

VerticalPageBreakCollection

Dostępny jako ws.vertical_page_breaks. Pionowy podział strony wstawiony przed kolumną n sprawia, że arkusz rozpoczyna nową stronę w tej kolumnie podczas drukowania.

Wszystkie odwołania do kolumn są 0-based (kolumna 0 = kolumna A).

ImageRenderOptions

dodaj

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

Dodaje podział strony przed określoną kolumną. Zwraca zerowo‑indeksowany indeks nowego podziału w kolekcji.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
column_or_cellint0-based column index at which to insert the break.
column_or_cellstrOdwołanie do komórki w stylu A1; używana jest kolumna tej komórki (np., "E1" → podział przed kolumną 4 w terminologii zerowej).

usuń

vpb.remove(column_or_cell: int | str)

Usuwa podział strony powiązany z podanym indeksem kolumny lub odwołaniem do komórki.

wyczyść

vpb.clear()

Usuwa wszystkie pionowe podziały stron z arkusza.

to_list

vpb.to_list() -> list

Zwraca zwykłą listę Python indeksów kolumn podziałów (liczby całkowite zerowo‑indeksowane), posortowaną w kolejności rosnącej.

Właściwości i iteracja

ImageRenderOptionsImageRenderOptions
countLiczba pionowych podziałów strony (tylko do odczytu).
__len__()ImageRenderOptions count.
__iter__()Iteruje po indeksach kolumn podziału.
__getitem__(index)Zwraca indeks kolumny podziału na pozycji index w kolekcji.

ImageRenderOptions

Poniższy przykład wstawia poziome podziały stron co 30 wierszy, aby uzyskać równomiernie podzielone strony wydruku w dużym raporcie.

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

Usuwanie konkretnego podziału

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

Zobacz także

 Polski