PythonでExcelワークシートのヘッダーとフッターを設定する方法

データ処理や分析の際、Excelは強力なツールとして広く使用されています。ワークシートを印刷したり共有したりする際、文書にプロフェッショナルなヘッダーとフッターを追加することは、ファイルの視覚的効果を高めるだけでなく、会社のロゴ、日付、ファイル名、ページ番号などの必要な情報を提供し、文書をより正式で管理しやすくします。Pythonを使用してExcelワークシートのヘッダーとフッターを設定することで、このプロセスを自動化し、時間を節約するとともに、毎回生成される文書の形式を一致させることができます。この記事では、**Pythonを使用してExcelワークシートのヘッダーとフッターを設定する方法**と、コードのサンプルを紹介します。

- PythonでExcelワークシートのヘッダーとフッターを設定する

この記事で使用する方法は、[Spire.XLS for Python](https://jp.e-iceblue.com/introduce/spire-xls-for-python.html)を利用するものです。PyPIでのインストール方法：`pip install spire.xls`。

[無料ライセンスを申請する](https://www.e-iceblue.com/TemLicense.html)

## PythonでExcelワークシートのヘッダーとフッターを設定する方法
ライブラリ内の`PageSetup`クラスを使用して、Excelワークシートのページ設定を処理できます。これにはヘッダーとフッターの設定が含まれます。クラス内の`LeftHeader`、`CenterHeader`、`RightHeader`、`LeftFooter`、`CenterFooter`、`RightFooter`などのプロパティを使用して、ヘッダーとフッターの内容をフォーマットコードで設定できます。以下は、よく使われるフォーマットコードとその説明です：

| スクリプト         | 説明                          |
| ------------------ | ----------------------------- |
| &P                 | 現在のページ番号              |
| &N                 | 総ページ数                    |
| &D                 | 現在の日付                    |
| &T                 | 現在の時刻                    |
| &G                 | 画像                          |
| &A                 | ワークシート名                |
| &F                 | ファイル名                    |
| &B                 | 太字テキスト                  |
| &I                 | イタリックテキスト            |
| &U                 | 下線テキスト                  |
| &"フォント名"      | フォント名、例：&"Arial"      |
| & + 整数           | フォントサイズ、例：&12       |
| &K + 16進カラーコード | フォントカラー、例：&KFF0000 |

Excelワークシートのヘッダーとフッターを設定する手順は次の通りです：
操作手順を示す際に、私は通常、簡潔さを保つために句読点を省略していますが、説明的なテキストには適切に句読点を使用することで、読者にとって理解しやすくなります。以下は句読点を適切に追加した操作手順です：

- 必要なモジュールをインポート：`Workbook, Stream, FileFormat`。
- `Workbook`クラスのインスタンスを作成し、Excelファイルを操作します。
- `LoadFromFile`メソッドを使用して、指定したパスのExcelファイルを読み込みます。
- `Worksheets.get_Item(0)`でワークブックの最初のワークシートを取得します。
- ワークシートのページ設定プロパティ：`sheet.PageSetup`にアクセスします。
- ヘッダーと画像の設定：`LeftHeader`プロパティにテキストを設定し、`LeftHeaderImage`プロパティに画像をストリームオブジェクトで読み込みます。
- 右側のヘッダー内容を設定：`RightHeader`プロパティにフォーマット済みのテキスト文字列を設定します。
- 左側のフッター内容を設定：`LeftFooter`プロパティにページ番号を含むフォーマット済みのテキスト文字列を設定します。
- 右側のフッター内容を設定：`RightFooter`プロパティに日付を含むフォーマット済みのテキスト文字列を設定します。
- `SaveToFile`メソッドを使用して、変更したワークブックを指定したパスに保存します。
- リソースを解放します。

**コードサンプル**
```python
from spire.xls import Workbook, Stream, FileFormat

# Workbookのインスタンスを作成
workbook = Workbook()

# Excelファイルを読み込む
workbook.LoadFromFile("Sample.xlsx")

# 最初のワークシートを取得
sheet = workbook.Worksheets.get_Item(0)

# ページ設定にアクセス
pageSetup = sheet.PageSetup

# ヘッダーを設定
# 左側のヘッダー
pageSetup.LeftHeader = "&G"
pageSetup.LeftHeaderImage = Stream("Image.jpg")
# 右側のヘッダー
pageSetup.RightHeader = "&\"Yu Gothic UI\"&B&10&K4253E2テクノロジー株式会社\n データは更新されました"

# フッターを設定
# 左側のフッター
pageSetup.LeftFooter = "&\"Yu Gothic UI\"&B&10&K4253E2ページ &P"
# 右側のフッター
pageSetup.RightFooter = "&\"Yu Gothic UI\"&B&10&K4253E2 &D"

# ファイルを保存
workbook.SaveToFile("output/ExcelHeaderFooter.xlsx")
workbook.Dispose()
```

結果
![PythonでExcelワークシートのヘッダーとフッターを設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/9b35ec10-c2c1-a704-e740-f582115024e0.png)

この記事では、Pythonを使用してExcelワークシートにヘッダーとフッターを追加する方法を説明しました。