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の行と列の大きさを設定するを学びましょう。

サンプルコードです。

import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active

sheet['A1'] = 'tate'
sheet['B2'] = 'yoko'

sheet.row_dimensions[1].height = 60
sheet.column_dimensions['B'].width = 30

wb.save('test_6.xlsx')

実行結果

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

1行目の高さと、B列の幅が広がっていることが目視で確認できました。「あれ?なんで高さが60で幅が30なのに、幅の方が広いの?」と思われた方もいらっしゃるのではないでしょうか。

実は、高さはポイントで設定されているのに対し、幅は表示できる文字数で設定されています。

ポイントについてはこちらのサイトによくまとまっていたので、もしExcelのポイントについて詳しく知りたい方はご覧ください。
高さと幅で単位が違うから注意とだけ覚えておいていただければ問題ありません。

row_dimensions属性とcolumn_dimensions属性

WorkSheetオブジェクトには、row_dimensionscolumn_dimensionsという属性があります。

それぞれRowDimensionsオブジェクトとColumnDimensionsオブジェクトが格納されており、width属性やheight属性を変更すると、それぞれ行の高さ・列の幅を変更できます。

row_dimensionsとcolumn_dimensionsが持つ他の属性

先ほどは、row_dimensionsとcolumn_dimensionsのそれぞれwidth属性とheight属性を変更しましたが、他にも属性を持っています。いくつかサンプルを見てみましょう。

outline_level属性

サンプルコードです。

import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active

sheet['A1'] = 'tate'
sheet['B2'] = 'yoko'

sheet.column_dimensions['A'].outline_level = 1
sheet.row_dimensions[1].outline_level = 1

wb.save('test_6.xlsx')

実行結果はこちらです。

outline_levelは、文字通りアウトラインレベルの属性です。
アウトラインレベルについてご存知ない方も多いと思いますが、実行結果の画像を見ていただければお分かりになる通り、対象行や列を折りたたみ表示させることができます。

今回のように、outline_level=1の場合は、1つ折りたたんでいることがわかります。
画像の「ー」をクリックすれば、表示を折りたたむことができ、「ー」の代わりに「+」が表示されます。

表示された「+」をクリックすれば、折りたたみが解除され、再度「ー」が表示されます。

hidden属性

せっかくですので、もう一つ属性を見てみましょう。

import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active

sheet['A1'] = 'tate'
sheet['B2'] = 'yoko'

sheet.column_dimensions['A'].hidden=True
sheet.row_dimensions[1].hidden=True

wb.save('test_6.xlsx')

実行結果はこちらです。

実行結果を見てお分かりになる通りA列と1行目が非表示になっています。

hidden属性は、対象の行や列を隠すことができる属性だということがわかりますね。

outline_level属性もhidden属性も実務でそこまで多用する機会はないかと思います。

ですので、「あー、こういう属性があるんだなあ」と覚えておいていただき、必要になった時に本サイトを見に来てくださればOKです。

さいごに

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

今回の記事では、Excelの行と列が持つ様々な属性について学習しました。多用する機会もそこまでないかもしれませんが、知っておくと便利だと思います。

次回は、ウィンドウ枠を固定する方法をご紹介するのでお楽しみにしていてください。なお、予習を進めたい方は、『退屈なことは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をコピーしました