Pythonのopenpyxlを使ったExcelセル書式設定入門 – 実務で役立つフォーマット技術

Python『openpyxl』でExcelセルの書式設定入門

この記事では、Pythonのopenpyxlライブラリを使用してExcelセルの書式設定を行う方法を解説します。Excelファイルのフォントやボーダー、背景色の変更から数値形式、セルの幅・高さの設定まで、実務で使える具体例とともに学んでいきましょう。

ほかの記事

サンプルコード

from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, Border, Side, PatternFill

# 1. 既存のExcelファイルを開く
wb = load_workbook("sample.xlsx")
ws = wb.active  # シートを選択

# 2. 書式設定を行いたいセルを指定
cell = ws.cell(row=2, column=2)

# 3. フォント設定を変更
cell.font = Font(name="Arial", size=14, color="FF0000", bold=True, italic=True)

# 4. ボーダー設定を変更
side = Side(style="thin", color="000000")
cell.border = Border(left=side, right=side, top=side, bottom=side)

# 5. 背景色を設定
cell.fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")

# 6. 数値形式を設定
cell.number_format = "#,##0.00"

# 7. セルの幅と行の高さを設定
ws.column_dimensions["B"].width = 20
ws.row_dimensions[2].height = 30

# 8. ファイルを保存
wb.save("formatted_sample.xlsx")

# 9. ワークブックを閉じる
wb.close()

1. openpyxlライブラリをインポートする

まず、PythonでExcel操作を可能にするopenpyxlライブラリをインポートします。インストールされていない場合は、以下のコマンドでインストールしてください。

pip install openpyxl

次に、Pythonスクリプト内でopenpyxlをインポートします。

from openpyxl import Workbook, load_workbook

2. 対象となるExcelファイルを開く

次に、書式設定を行いたい既存のExcelファイルを開きます。load_workbook関数を使ってファイルを読み込み、操作する準備をします。

wb = load_workbook("sample.xlsx")

このコードでは、Excelファイル「sample.xlsx」が読み込まれ、wbオブジェクトに格納されます。

3. 操作するシートを選択する

次に、書式設定を適用するシートを選択します。active属性またはシート名を指定して操作対象のシートを決定します。

ws = wb.active

または、特定のシート名を使って取得します:

ws = wb["Sheet1"]

4. 書式を設定したいセルを選択する

設定を行いたいセルを選択します。.cellメソッドを使用して、特定のセルを指定します。

cell = ws.cell(row=2, column=2)

これにより、「B2」セルが選択されます。

5. フォント設定を変更する

5.1 Fontオブジェクトの生成

openpyxlのFontオブジェクトを使用してフォントを設定します。

from openpyxl.styles import Font

次に、フォントの設定を行います。

cell.font = Font(name="Arial", size=14, color="FF0000", bold=True, italic=True)

このコードで、フォントはArial、サイズは14、色は赤色、太字とイタリックが適用されます。

6. ボーダー設定を変更する

6.1 Borderオブジェクトの生成

openpyxlのBorderオブジェクトを使用して、セルのボーダー(枠線)を設定します。

from openpyxl.styles import Border, Side

ボーダーのスタイルを設定します。

side = Side(style="thin", color="000000")
cell.border = Border(left=side, right=side, top=side, bottom=side)

このコードにより、セルに黒色の薄い線のボーダーが設定されます。

7. 背景色を設定する

7.1 PatternFillオブジェクトの生成

背景色を設定するためにPatternFillオブジェクトを使用します。

from openpyxl.styles import PatternFill

背景色を指定します。

cell.fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")

このコードにより、セルに黄色の背景色が適用されます。

8. 数値形式を設定する

数値形式を設定することで、Excelでの見た目や表示形式を変更できます。

cell.number_format = "#,##0.00"

このコードでは、数値が千の位でカンマ区切り、2桁の小数点で表示されます。

9. セルの幅・高さを設定する

セルの幅や行の高さを指定します。

ws.column_dimensions["B"].width = 20
ws.row_dimensions[2].height = 30

これにより、列Bの幅が20に、2行目の高さが30に設定されます。

10. 改訂後のワークブックを保存する

編集したExcelファイルを保存します。

wb.save("formatted_sample.xlsx")

ファイルは「formatted_sample.xlsx」という名前で保存されます。

11. ワークブックを閉じる

使用を終えたらワークブックを閉じます。

wb.close()

まとめ

この記事では、openpyxlを使用してExcelのセルにさまざまな書式設定を適用する方法を学びました。基本的なフォント設定、ボーダー、背景色の設定、数値形式の変更、セルの幅と高さの調整までを理解することで、Excelファイルをより見やすく、データの内容に応じたフォーマットを施すことができるようになったでしょう。

openpyxlの公式サイトはこちらからアクセスできます:

これらのリンクから、openpyxlの最新バージョン情報やソースコード、ドキュメントを確認できます。

コメント

タイトルとURLをコピーしました