PythonでOpenPyXLを使いExcelの行と列を固定する方法


こんにちは。@katsuhisa__です。

PythonのOpenPyXLモジュールを使い、面倒で退屈なExcel作業をPythonで自動化する方法をお伝えする連載の九記事目です!

連載一記事目はこちら。

PythonでExcel作業を自動化するOpenPyXLのはじめての使い方
Excel 間でのセルをコピーしたり、退屈な作業を、Pythonで自動化してみませんか?OpenPyXLを使えば、PythonでかんたんにExcel 作業を実現できます。本記事では、PythonでExcelファイルを操作するモジュールOpenPyXLのはじめての使い方(初心者向け)についてご紹介します!

前回は、OpenPyXLを使いExcelの行と列について色々な設定をする方法をご紹介しました。

今回は、PythonでOpenPyXLを使いExcelの行と列を固定する方法を学習しましょう!

スポンサーリンク

OpenPyXlでExcelの行と列を固定する

早速、OpenPyXlでExcelの行と列の大きさを設定するを学びましょう。

今回は、事前にサンプルのExcelファイルを用意しました。

Build software better, together
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over...

Downloadをクリックして、事前にファイルをダウンロードしてください。
ダウンロードが完了したら、ファイルの中身を見てみましょう。

フルーツと値段・個数・産地が並んでいます。

このExcelファイルですが、今後、フルーツのデータの量が増えれば増えるほど、縦に長くなりますね。とすると、一行目を固定したくなるはずです。

OpenPyXLには、Excファイルの行や列を固定するための方法が用意されているので、サンプルコードを見て、その方法を学習しましょう。

まずは、一行目を固定する方法を学習しましょう。

OpenPyXLでExcelの1列目を固定する

import openpyxl
wb = openpyxl.load_workbook('sample.xlsx')
sheet = wb.active

sheet.freeze_panes = 'A2'

wb.save('test_9.xlsx')

実行結果

作成したtest_9.xlsxの中身を見てみましょう。


このままでは、一行目が固定されたかどうか分かりにくいですね。下にスクロールしてみましょう。

1行目が動かず表示され続けていることが確認できました。

ワークシートオブジェクトのfreeze_panes属性

さて、前述のサンプルコードですが、 sheet.freeze_panes = ‘A2’ で、一行目を固定していることが、なんとなくお分かりになるかと思います。

ワークシートオブジェクトのfreeze_panes属性に特定のセルを指定することで、指定したセルより1つ上の行まで、もしくは1つ左の列までを固定することができます。

OpenPyXLでExcelの1列目を固定する

では、1列目(A列)を固定するにはどうすればよいでしょうか?こちらもサンプルコードを見てみましょう。

import openpyxl
wb = openpyxl.load_workbook('sample.xlsx')
sheet = wb.active

sheet.freeze_panes = 'B1'

wb.save('test_10.xlsx')

実行結果です。少し右にスライドさせた状態のキャプチャです。

先ほど記載した通り、freeze_panes属性に特定のセルを指定すると、指定したセルより1つ上の行、もしくは1つ左の列までを固定することができます。

今回の場合は、B1 を指定したので、A列を固定することができた、というわけですね。

同様の考え方で、一行目と一列目を固定するには、freeze_panes属性に、B2を指定すればよいです。

まとめると以下のようになります。

# 一行目を固定
sheet.freeze_panes = 'A2'
# 一列目を固定
sheet.freeze_panes = 'B1'
# 一行目と一列目を固定
sheet.freeze_panes = 'B2'

行や列の固定は、データ量が増えてくると使う機会も多いかと思いますので、しっかりおさえておきましょう。

さいごに

以上、OpenPyXLを使いExcelの行と列を固定する方法でした。

次回は、OpenPyXLでチャートを作成する方法をご紹介するのでお楽しみにしていてください。なお、予習を進めたい方は、『退屈なことはPythonにやらせよう』をお買い求めください。

本連載の更新情報は、管理人のタカハシ(@ntakahashi0505)さんのTwitterアカウントや、もちろん私のアカウント(@katsuhisa__)で配信していくので、もしよければ、フォローをお願いします!

書籍『Pythonでかなえる Excel作業効率化』発売のお知らせ

この連載が『Pythonでかなえる Excel作業効率化』という本になりました! Pythonの使い方の基本からだけでなく、Pythonでオフィス業務を効率化するために必要な知識をたくさん詰め込みました!ぜひお買い求めください。
Pythonでかなえる Excel作業効率化
Excelは全ビジネスマン必須のアプリケーションですが,操作がめんどうだと感じたことはありませんか? 本書は,「Python」というプログラミング言語を使って,そんなめんどうな業務を自動化・効率化する方法を紹介します。プログラミングがはじめ...

連載目次:PythonでExcelを操作するモジュールOpenPyXL

OpenPyXLというモジュールを使うことでPythonでExcelファイルを操作することができます。本シリーズでは初心者向けにExcelファイルの作業をPythonで自動化する方法をお伝えします。
  1. PythonでExcel作業を自動化するOpenPyXLのはじめての使い方
  2. OpenPyXLで複数のセルの値を取得する方法
  3. OpenPyXLでExcelファイルの新規作成・保存を行う方法
  4. PythonでOpenPyXLを使ってExcelのシートを追加・削除する方法
  5. PythonでOpenPyXLでExcelのセルに値を入力する方法と編集する方法
  6. PythonでOpenPyXLを使いExcelのフォントを設定する方法
  7. PythonでOpenPyXLを使いExcelに数式を入力する方法
  8. PythonでOpenPyXLを使いExcelの行と列について色々な設定をする方法
  9. PythonでOpenPyXLを使いExcelの行と列を固定する方法
  10. PythonでOpenPyXLを使いExcelのグラフを作成する〜Chart関連オブジェクトの紹介〜
  11. PythonでOpenPyXLを使いExcelのグラフを作成する〜グラフのつくりかた編〜

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