Home » Python » OpenPyXLの使い方 » OpenPyXLで改ページを削除する-Worksheet.page_breaks.clear()メソッド

OpenPyXLで改ページを削除する-Worksheet.page_breaks.clear()メソッド

動作検証バージョン:Windows 10 + Python 3.7.3 + OpenPyXL 2.6.2

「python openpyxl 改ページ」
という検索キーワードでアクセスがありました。

OpenPyXLを使ってExcelの改ページを操作する方法を調べていた方による検索です。

[スポンサードリンク]

OpenPyXLで改ページを削除するスクリプト

「python openpyxl 改ページ」
だけでは、具体的に何をしたかったのかがわかりませんので、ここでは改ページを削除するスクリプトをご紹介しておきます。

import openpyxl

bk = openpyxl.load_workbook(r'C:\temp\foo.xlsx')

ws = bk.worksheets[0]
ws.page_breaks.clear()

bk.save(r'C:\temp\foo2.xlsx')

上記のスクリプトを実行すると、Cドライブtempフォルダーのfoo.xlsxブックの先頭ワークシートから改ページが削除され、foo2.xlsxとして保存されます。

OpenPyXLで改ページを削除する処理について

OpenPyXLのWorksheetオブジェクトは、Pythonのdir関数で確認すればわかるとおり、以下のようにたくさんの属性を持っています。

>>> type(ws)
<class 'openpyxl.worksheet.worksheet.Worksheet'>
>>>
>>> dir(ws)
['BREAK_COLUMN', 'BREAK_NONE', 'BREAK_ROW', 'HeaderFooter', 'ORIENTATION_LANDSCAPE', 'ORIENTATION_PORTRAIT', 'PAPERSIZE_A3', 'PAPERSIZE_A4', 'PAPERSIZE_A4_SMALL', 'PAPERSIZE_A5', 'PAPERSIZE_EXECUTIVE', 'PAPERSIZE_LEDGER', 'PAPERSIZE_LEGAL', 'PAPERSIZE_LETTER', 'PAPERSIZE_LETTER_SMALL', 'PAPERSIZE_STATEMENT', 'PAPERSIZE_TABLOID', 'SHEETSTATE_HIDDEN', 'SHEETSTATE_VERYHIDDEN', 'SHEETSTATE_VISIBLE', '_WorkbookChild__title', '__class__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_add_cell', '_add_column', '_add_row', '_cells', '_cells_by_col', '_cells_by_row', '_charts', '_clean_merge_range', '_comments', '_current_row', '_default_title', '_drawing', '_get_cell', '_hyperlinks', '_id', '_images', '_invalid_row', '_move_cell', '_move_cells', '_parent', '_path', '_pivots', '_print_area', '_print_cols', '_print_rows', '_rel_type', '_rels', '_setup', '_tables', 'active_cell', 'add_chart', 'add_data_validation', 'add_image', 'add_pivot', 'add_table', 'append', 'auto_filter', 'calculate_dimension', 'cell', 'col_breaks', 'column_dimensions', 'columns', 'conditional_formatting', 'data_validations', 'delete_cols', 'delete_rows', 'dimensions', 'encoding', 'evenFooter', 'evenHeader', 'firstFooter', 'firstHeader', 'formula_attributes', 'freeze_panes', 'insert_cols', 'insert_rows', 'iter_cols', 'iter_rows', 'legacy_drawing', 'max_column', 'max_row', 'merge_cells', 'merged_cell_ranges', 'merged_cells', 'mime_type', 'min_column', 'min_row', 'move_range', 'oddFooter', 'oddHeader', 'orientation', 'page_breaks', 'page_margins', 'page_setup', 'paper_size', 'parent', 'path', 'print_area', 'print_options', 'print_title_cols', 'print_title_rows', 'print_titles', 'protection', 'row_breaks', 'row_dimensions', 'rows', 'scenarios', 'selected_cell', 'set_printer_settings', 'sheet_format', 'sheet_properties', 'sheet_state', 'sheet_view', 'show_gridlines', 'show_summary_below', 'show_summary_right', 'title', 'unmerge_cells', 'values', 'views']

この中のpage_breaks属性で、個々の改ページを表すPageBreakオブジェクトをメンバーとして持つ、listが取得できます。

>>> type(ws.page_breaks)
<class 'list'>
>>>
>>> type(ws.page_breaks[0])
<class 'openpyxl.worksheet.pagebreak.PageBreak'>

取得したlistの全要素をPythonのlist.clear()メソッドで削除しています。

最終更新日時:2023-01-19 03:57

[スポンサードリンク]

Home » Python » OpenPyXLの使い方 » OpenPyXLで改ページを削除する-Worksheet.page_breaks.clear()メソッド

「OpenPyXLの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.