worksheet.header_footer【ヘッダー・フッター】モジュール

メモ ( 概要 ヘッダー/フッター (ページ設定) )
クラス: _HeaderFooterPart【ヘッダー/フッター パーツ】 HeaderFooter【ヘッダー・フッター】 HeaderFooterItem【ヘッダー/フッター アイテム】

メモ

概要

ヘッダー/フッター (ページ設定)

例 (1/2) 例 (2/2)

[ページ設定]-[ヘッダー/フッター] ダイアログ

[ページ設定]-[ヘッダー] ダイアログ

ヘッダーの編集 Worksheet .HeaderFooter.

(HeaderFooter
【ヘッダー・フッター】
)
oddHeader.
evenHeader.
firstHeader.

(HeaderFooterItem
【ヘッダー/フッター アイテム】
)
※左の HeaderFooter がない省略形も可
※全ページ共通の場合は、oddHeader 使用
※シート名等の挿入は、フォーマットコード 参照
center/centre.
left.
right.

(_HeaderFooterPart
【ヘッダー/フッター パーツ】
)
color【テキスト色】
font【フォント】
size【フォントサイズ】
text【テキスト】
フッターの編集 oddFooter.
evenFooter.
firstFooter.

(HeaderFooterItem
【ヘッダー/フッター アイテム】
)
※左の HeaderFooter がない省略形も可
※全ページ共通の場合は、oddFooter 使用
※シート名等の挿入は、フォーマットコード 参照
先頭ページのみ別指定differentFirst【先頭ページのみ別指定】
奇数/偶数ページ別指定differentOddEven【奇数/偶数ページ別指定】
ドキュメントに合わせて配置scaleWithDoc【ドキュメントに合わせて配置】
ページ余白に合わせて配置alignWithMargins【ページ余白に合わせて配置】


_HeaderFooterPart【ヘッダー/フッター パーツ】クラス

クラス定義

クラス備考
親:openpyxl.descriptors.Strict
class _HeaderFooterPart(
    text=None,
    font=None,
    size=None,
    color=None)
ヘッダー/フッター パーツ
text (str)テキスト
font (str)フォント
size (int)フォントサイズ
color (str)テキスト色

※ 初期状態で、Worksheet【ワークシート】HeaderFooter【ヘッダー・フッター】プロパティ以下に生成済

プロパティ

プロパティ備考
colorstrテキスト色 (RGB形式:16進数6桁)
fontstr フォント
下記形式
フォント名
フォント名,スタイル
    フォント名フォント名 (-《ハイフン》:省略)
    スタイル下記スタイル (複数:スペース区切り)
        Regular:標準
        Bold:太字
        Italic:イタリック体
sizeintフォントサイズ
textstr テキスト
下記の指定可
改行:¥n
その他:フォーマットコード
フォーマットコード〔備考参考:日本語
&&アンパサンド
&"font" フォント
(font【フォント】プロパティと同等の形式)
&nnフォントサイズ
&A
&[Tab]
ワークシート名 &[シート名]
&B太字 切替
&D
&[Date]
現在日付 &[日付]
&E二重下線 切替
&F
&[File]
ワークブック名 &[ファイル名]
&Iイタリック体 切替
&KRRGGBB テキスト色
RRGGBB16進数6桁
&N
&[Pages]
総ページ数 &[総ページ数]
&P
&[Page]
現在ページ番号 &[ページ番号]
&P+n現在ページ番号 加算
&P-n現在ページ番号 減算
&S取り消し線 切替
&T
&[Time]
現在時刻 &[時刻]
&U下線 切替
&X上付き 切替
&Y下付き 切替
&Z
&[Path]
ワークブック パス

操作

操作備考
bool( _HeaderFooterPart )text【テキスト】プロパティの設定有無判定
str( _HeaderFooterPart )文字列変換

メソッド

メソッド備考
@classmethod
from_str( text)

text

HeaderFooter【ヘッダー・フッター】クラス

クラス定義

クラス備考
親:openpyxl.descriptors.serialisable.Serialisable
class HeaderFooter(
    differentOddEven=None,
    differentFirst=None,
    scaleWithDoc=None,
    alignWithMargins=None,
    oddHeader=None,
    oddFooter=None,
    evenHeader=None,
    evenFooter=None,
    firstHeader=None,
    firstFooter=None)
ヘッダー・フッター
differentOddEven (bool)[奇数/偶数ページ別指定]
differentFirst (bool)[先頭ページのみ別指定]
scaleWithDoc (bool)[ドキュメントに合わせて配置]
alignWithMargins (bool)[ページ余白に合わせて配置]
oddHeader (HeaderFooterItem)ヘッダー (奇数/共通ページ)
oddFooter (HeaderFooterItem)フッター (奇数/共通ページ)
evenHeader (HeaderFooterItem)ヘッダー (偶数ページ)
evenFooter (HeaderFooterItem)フッター (偶数ページ)
firstHeader (HeaderFooterItem)ヘッダー (先頭ページ)
firstFooter (HeaderFooterItem)フッター (先頭ページ)

※ 初期状態で、Worksheet【ワークシート】HeaderFooter【ヘッダー・フッター】プロパティに生成済

プロパティ

プロパティ備考
alignWithMarginsbool[ページ余白に合わせて配置]
differentFirstbool[先頭ページのみ別指定]
differentOddEvenbool[奇数/偶数ページ別指定]
evenFooterHeaderFooterItemフッター (偶数ページ)
evenHeaderHeaderFooterItemヘッダー (偶数ページ)
firstFooterHeaderFooterItemフッター (先頭ページ)
firstHeaderHeaderFooterItemヘッダー (先頭ページ)
oddFooterHeaderFooterItemフッター (奇数/共通ページ)
oddHeaderHeaderFooterItemヘッダー (奇数/共通ページ)
scaleWithDocbool[ドキュメントに合わせて配置]
tagnamestrタグ名 ('headerFooter')

操作

操作備考
bool( HeaderFooter )プロパティの設定有無判定

HeaderFooterItem【ヘッダー/フッター アイテム】クラス

クラス定義

クラス備考
親:openpyxl.descriptors.Strict
class HeaderFooterItem(
    left=None,
    right=None,
    center=None)
ヘッダー/フッター アイテム
left (_HeaderFooterPart)左側
right (_HeaderFooterPart)右側
center (_HeaderFooterPart)中央部

※ 初期状態で、Worksheet【ワークシート】HeaderFooter【ヘッダー・フッター】プロパティ以下に生成済

プロパティ

プロパティ備考
center_HeaderFooterPart中央部
centre_HeaderFooterPartcenter【中央部】のエイリアス
left_HeaderFooterPart左側
right_HeaderFooterPart右側

操作

操作備考
bool( HeaderFooterItem )プロパティの設定有無判定
str( HeaderFooterItem )文字列変換

メソッド

メソッド備考
to_tree(
tagname)

tagname
@classmethod
from_tree(
node)

node

ヘッダー/フッター (ページ設定) 1/2

from openpyxl import Workbook
from openpyxl.worksheet.worksheet import Worksheet

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

# 用紙サイズ・印刷の向き
ws.set_printer_settings(
    Worksheet.PAPERSIZE_A5,
    Worksheet.ORIENTATION_LANDSCAPE
)

# ヘッダー (全ページ共通)
ws.oddHeader.left.text = 'ヘッダー (左側)'
ws.oddHeader.center.text = 'ヘッダー (中央部)'
ws.oddHeader.right.text = 'ヘッダー (右側)'

# フッター (全ページ共通)
ws.oddFooter.left.text = 'フッター (左側)'
ws.oddFooter.center.text = 'フッター (中央部)'
ws.oddFooter.right.text = 'フッター (右側)'

# ビュー設定
ws.sheet_view.view = 'pageLayout'
ws.sheet_view.zoomScalePageLayoutView = 75
ws.sheet_view.zoomScale = 75

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

ヘッダー・フッター (1/2)のサンプル画像


ヘッダー/フッター (ページ設定) 2/2
フォーマットコード

from openpyxl import Workbook
from openpyxl.worksheet.worksheet import Worksheet

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

# 用紙サイズ・印刷の向き
ws.set_printer_settings(
    Worksheet.PAPERSIZE_A5,
    Worksheet.ORIENTATION_LANDSCAPE
)

# 各種指定
ws.HeaderFooter.differentFirst = True
ws.HeaderFooter.differentOddEven = True
ws.HeaderFooter.scaleWithDoc = False
ws.HeaderFooter.alignWithMargins = False

# 先頭ページ ヘッダー (ショートカットなし)
ws.HeaderFooter.firstHeader.left.color = 'FF0000'
ws.HeaderFooter.firstHeader.left.font = 'Meiryo UI,Regular'
ws.HeaderFooter.firstHeader.left.text = '先頭ページ ヘッダー (左側)'
ws.HeaderFooter.firstHeader.center.color = '008000'
ws.HeaderFooter.firstHeader.center.font = '-,Bold Italic'
ws.HeaderFooter.firstHeader.center.size = 18
ws.HeaderFooter.firstHeader.center.text = '先頭ページ ヘッダー (中央部)'
ws.HeaderFooter.firstHeader.right.color = '0000FF'
ws.HeaderFooter.firstHeader.right.font = 'Meiryo UI,Bold Italic'
ws.HeaderFooter.firstHeader.right.size = 8
ws.HeaderFooter.firstHeader.right.text = '先頭ページ ヘッダー (右側)'
# 先頭ページ フッター (ショートカット)
ws.firstFooter.left.text = '先頭ページ && &"-,Bold"フッター (左側)\n&16&A &[Tab]'
ws.firstFooter.center.text = '&B先頭ページ&B &Eフッター&E &I(中央部)&I\n&F &[File]'
ws.firstFooter.right.text = '先頭ページ &KFF0000フッター (右側)\n&P/&N'

# 偶数ページ ヘッダー
ws.evenHeader.left.text = '偶数ページ ヘッダー (左側)\n&[Page]/&[Pages]'
ws.evenHeader.center.text = '偶数ページ ヘッダー (中央部)\n&P+10 &P-10'
ws.evenHeader.right.text = '偶数ページ &Sヘッダー&S (右側)'
# 偶数ページ フッター
ws.evenFooter.left.text = '偶数ページ &Uフッター&U (左側)'
ws.evenFooter.center.text = '偶数ページ &Xフッター&X (中央部)'
ws.evenFooter.right.text = '偶数ページ &Yフッター&Y (右側)'

# 奇数ページ ヘッダー
ws.oddHeader.left.text = '奇数ページ ヘッダー (左側)'
ws.oddHeader.center.text = '奇数ページ ヘッダー (中央部)'
ws.oddHeader.right.text = '奇数ページ ヘッダー (右側)'
# 奇数ページ フッター
ws.oddFooter.left.text = '奇数ページ フッター (左側)'
ws.oddFooter.center.text = '奇数ページ フッター (中央部)'
ws.oddFooter.right.text = '奇数ページ フッター (右側)'

# ビュー設定
ws.sheet_view.view = 'pageLayout'
ws.sheet_view.zoomScalePageLayoutView = 75
ws.sheet_view.zoomScale = 75

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

ヘッダー・フッター (2/2)のサンプル画像

ヘッダー・フッター (2/2)のサンプル画像