worksheet.pagebreak【改ページ】モジュール

メモ ( 概要 基本 改ページの挿入 改ページの解除 )
クラス: Break【改ページ】 ColBreak【改ページ リスト (列)】 PageBreak【改ページ リスト (行)】 RowBreak【改ページ リスト (行)】

メモ

概要

基本

改ページの挿入

改ページの解除


Break【改ページ】クラス

クラス定義

クラス備考
親:openpyxl.descriptors.serialisable.Serialisable
インポート:from openpyxl.worksheet.pagebreak import Break
class Break(
    id=0,
    min=0,
    max=16383,
    man=True,
    pt=None)
改ページ
id (int:0~)改ページ位置
min (int:0~)開始 行/列インデックス
max (int:0~)最終 行/列インデックス
man (bool)手動改ページの有無
pt (bool)ピボットテーブルの改ページ作成の有無

プロパティ

プロパティ備考
idint (0~) 改ページ位置 (ゼロベース:指定位置の上/左で改ページ)
※前のページの 行/列 番号
manbool手動改ページの有無
maxint (0~)最終 行/列インデックス (ゼロベース)
minint (0~)開始 行/列インデックス (ゼロベース)
ptboolピボットテーブルの改ページ作成の有無 (Pivot-Created Page Break)
tagnamestrタグ名 ('brk')

ColBreak【改ページ リスト (列)】クラス

クラス定義

クラス備考
親:RowBreak
インポート:from openpyxl.worksheet.pagebreak import ColBreak
class ColBreak(
    count=None,
    manualBreakCount=None,
    brk=() )
改ページ リスト (列)
count
manualBreakCount
brk (list | tuple)改ページ リスト

※ 初期状態で、Worksheet【ワークシート】col_breaks【改ページ リスト (列)】プロパティに生成済

プロパティ

プロパティ備考
brk list[ Break ]
tuple( Break )
改ページ リスト
count int改ページ数
manualBreakCount int手動改ページ数
tagnamestrタグ名 ('colBreaks')

操作

操作備考
bool( RowBreak )改ページの存在有無
len( RowBreak )改ページ数

メソッド

メソッド備考
append(
    brk=None)
改ページ 追加
brk (Break | None)改ページ
    None:改ページ数 + 1 の id

tuple【タプル型】で一括挿入でも list【リスト型】に変換

RowBreak・PageBreak【改ページ リスト (行)】クラス

クラス定義

クラス備考
親:openpyxl.descriptors.serialisable.Serialisable
インポート:from openpyxl.worksheet.pagebreak import RowBreak/PageBreak
class RowBreak(
count=None,
manualBreakCount=None,
brk=() )

※ 別名:PageBreak
改ページ リスト (行)
count
manualBreakCount
brk改ページ リスト

※ 初期状態で、Worksheet【ワークシート】row_breaks【改ページ リスト (行)】プロパティに生成済

プロパティ

プロパティ備考
brk list[ Break ]
tuple( Break )
改ページ リスト
count int改ページ数
manualBreakCount int手動改ページ数
tagnamestrタグ名 ('rowBreaks')

操作

操作備考
bool( RowBreak )改ページの存在有無
len( RowBreak )改ページ数

メソッド

メソッド備考
append(
brk=None)
改ページ 追加
brk (Break | None)改ページ
    None:改ページ数 + 1 の id

tuple【タプル型】で一括挿入でも list【リスト型】に変換

改ページの挿入

from openpyxl import Workbook
from openpyxl.worksheet.worksheet import Worksheet
from openpyxl.worksheet.pagebreak import Break

# ワークブック作成
WORKBOOK = 'sample.xlsx'
wb = Workbook()
ws = wb.active
ws['L30'] = 'Data'
ws.print_area = 'A1:L30'

# 用紙設定
ws.set_printer_settings(
    Worksheet.PAPERSIZE_A3,
    Worksheet.ORIENTATION_LANDSCAPE,
)

# 改ページ (行) 個別指定
row_break = Break(5)
ws.row_breaks.append(row_break)
row_break = Break(15)
ws.row_breaks.append(row_break)
print(ws.row_breaks)
# 出力:
# <openpyxl.worksheet.pagebreak.RowBreak object>
# Parameters:
# count=2, manualBreakCount=2, brk=[<openpyxl.worksheet.pagebreak.Break object>
# Parameters:
# id=5, min=0, max=16383, man=True, pt=None, <openpyxl.worksheet.pagebreak.Break object>
# Parameters:
# id=15, min=0, max=16383, man=True, pt=None]

# 改ページ (列) 一括指定
ws.col_breaks.brk = [Break(3), Break(9)]
print(ws.col_breaks)
# 出力:
# <openpyxl.worksheet.pagebreak.ColBreak object>
# Parameters:
# count=2, manualBreakCount=2, brk=[<openpyxl.worksheet.pagebreak.Break object>
# Parameters:
# id=3, min=0, max=16383, man=True, pt=None, <openpyxl.worksheet.pagebreak.Break object>
# Parameters:
# id=9, min=0, max=16383, man=True, pt=None]

# ビュー設定
ws.sheet_view.view = 'pageBreakPreview'
ws.sheet_view.zoomScaleSheetLayoutView = 75
ws.sheet_view.zoomScale = 75

# ワークブック保存
wb.save(WORKBOOK)

改ページの挿入のサンプル画像


改ページの解除

from openpyxl import Workbook
from openpyxl.worksheet.worksheet import Worksheet
from openpyxl.worksheet.pagebreak import Break

# ワークブック作成
WORKBOOK = 'sample.xlsx'
wb = Workbook()
ws = wb.active
ws['L40'] = 'Data'
ws.print_area = 'A1:L40'

# 用紙設定
ws.set_printer_settings(
    Worksheet.PAPERSIZE_A3,
    Worksheet.ORIENTATION_PORTRAIT,
)

# 改ページ (行)
ws.row_breaks.brk = [Break(i) for i in range(5, 41, 5)]
print(ws.row_breaks.count, bool(ws.row_breaks), len(ws.row_breaks))
# 出力:8 True 8
# 改ページ (行) 個別解除
ws['B10'] = '改ページ 解除'
del_break = 10
for row_break in ws.row_breaks.brk:
    if row_break.id == del_break:
        ws.row_breaks.brk.remove(row_break)
        break;
print(ws.row_breaks.count, bool(ws.row_breaks), len(ws.row_breaks))
# 出力:7 True 7

# 改ページ (列)
ws.col_breaks.brk = [Break(i) for i in range(3, 13, 3)]
print(ws.col_breaks.count, bool(ws.col_breaks), len(ws.col_breaks))
# 出力:4 True 4
# 改ページ (列) すべて解除
ws.col_breaks.brk = []
print(ws.col_breaks.count, bool(ws.col_breaks), len(ws.col_breaks))
# 出力:0 False 0

# ビュー設定
ws.sheet_view.view = 'pageBreakPreview'
ws.sheet_view.zoomScaleSheetLayoutView = 75
ws.sheet_view.zoomScale = 75

# ワークブック保存
wb.save(WORKBOOK)

改ページの解除のサンプル画像