毎日、Twitterで日々の成果や頑張りをツイートしてします!

【Python】OpenPyXlでExcelのセルの幅や高さを指定する方法を解説!

カズトン

みなさん、おはようございます!

カズトンです!

今回もPythonのライブラリである”OpenPyXl”でExcelを操作する記事です。

本記事で解説するExcel操作は、「セルの幅を指定する」というものです。

今回で、Excel自動化の記事は6つとなりました。

他の”OpenPyXl”でできるExcel操作を知りたい・見たいという方は、こちらからご覧ください。

Pythonを自在に操り、Excelのめんどくさい事務作業を自動化してしまいましょう。

はじめに、「OpenPyXlの導入確認」と「PCやツールの環境確認」を行います。

OpenPyXlの導入ができている方などは、スキップしてもらって構いません。

カズトン

では、スタートです!

はじめに

冒頭でもお話しました。

これから、以下の2つを確認していきます。

確認事項
  • OpenPyXlの導入ができているか
  • PCやツールなどのバージョンの確認

OpenPyXlの導入方法

まずは、1つ目ですね。

Pythonのライブラリである”OpenPyXl”は、PCにインストールできているでしょうか?

インストールできていないと、Excel操作をすることができませんので必ず確認してください。

まだインストールしていない方は、こちらの記事を参考にしてみてください!

またPythonをPCにダウンロードできていない方も、公式サイトから自分のOSを選んでダウンロードしておいてくださいね。

PCやツールの環境確認(バージョン)

つづいて、

今回操作したPCやツールの環境をまとめておきます。

前回からもお伝えしていますが、予期せぬエラーが起きたときにPCやツールのバージョンが役に立つことがありますのでまとめました。

環境バージョン
Python2.7.16
OpenPyXl1,2,4
Excel2019年版
Mac OS12.0.1
環境の確認

Excelのセル幅の指定方法

では、ここからセルの幅の指定方法を説明していきます。

セルの幅を指定するのは、以下の2つです。

セル幅の指定
  • 横幅の指定
  • 縦幅の指定
セルの幅

デフォルトでは、「横75px×高さ20px」です。

このセルの幅を自在に変えて行きましょう。

はじめにコピペでも扱えるように構文を紹介して、その後にコード一文ずつ解説していきます。

構文

import openpyxl #ライブラリのインポート

excel_file = openpyxl.load_workbook('ファイル名') #Excelファイルの読み込み

excel_sheet = excel_file['シート名'] #Excelのシートを取得

excel_sheet.column_dimensions['A~...'].width = 100 #セルの横幅を指定(幅)

excel_sheet.row_dismensions[1~...].height = 100 #セルの縦幅を指定(高さ)

excel_file.save('ファイル名') #上書き保存

解説

セルの幅を指定するためには、以下の順番にコードを記述していきます。

コードの記述手順
  1. ライブラリのインポートする
  2. Excelファイルの読み込みをする
  3. Excelのシートを取得をする
  4. セルの幅や高さを指定する
  5. Excelファイルを上書き保存する

では、上から順番に解説していきます。

Step1:ライブラリのインポート

import openpyxl

まずは、おなじみ。

Excel操作を行うために、ライブラリをインポートします。

この一文は、「これからOpenPyXlを使うぞ!」と宣言しています。

ライブラリを扱う前には、必ずこの一文を記載してください。

まとめ

構文:import ライブラリ名

ポイント:ライブラリを扱いたいときに記載する。

Step2:Excelファイルの読み込み

excel_file = openpyxl.load_workbook('ファイル名')

ライブラリを扱えるようにしたら、Excelファイルを読み込んでいきます。

load_workbookメソッドを使って、セルの幅を指定したいExcelファイルを読み込みます。

excel_fileという変数に、Excelファイルのデータを格納しています。

Excelファイルの読み込みについて、詳しく知りたい方はこちらの記事を参考に。

アイキャッチ画像
まとめ

構文:OpenPyXl.load_workbook(‘ファイル名’)

ポイント:読み込みたいExcelファイル名を引数に渡して、Excelファイルを読み込む

Step3:Excelシートの取得

excel_sheet = excel_file['シート名']

Excelファイルを読み込んだら、そこから編集したいシートを選択して取得します。

取得は、読み込んだExcelファイル.[‘編集したいシート名’]と記述してください。

詳しく知りたい方は、こちらの記事を参考に!

アイキャッチ画像
まとめ

構文:読み込んだExcelファイル.[‘編集したいシート名’]

ポイント:編集したいシートの名前を書く。

Step4:セルの幅や高さを指定する

ここが、本記事のメインですね!

セルの幅と高さの指定方法を解説していきます。

では、横幅の指定から解説していきます。

横幅の指定

excel_sheet.column_dimensions['A~...'].width = 指定したい数

横幅の指定方法は、column_dimensions[‘指定したいセルのアルファベット’].width = 数(大きさ)です。

指定したいセルのアルファベットとは、以下の所です。

また横幅の大きさの指定にも少しズレがありました。

それは、「指定した大きさの七倍になる」です。

例えば、指定サイズを”100“とするとします。

実際にExcelファイルで見てみると、横幅が”700px“となっています。

ここは注意しておいてください。

カズトン

なぜ、七倍になるんだ笑

指定したサイズの7倍のピクセル数になる。

縦幅の指定

excel_sheet.row_dimensions[1~...].height = 指定したい数

横幅の指定方法は、row_dimensions[指定したいセルの数字].height= 数(大きさ)です。

高さを指定したいセルの数字を入れて下さい。

また横幅の指定とは違い100と指定すると、ちゃんと100pxで編集されています。

なぜか横幅だけ7倍笑

実例

以下のようなプログラムを実行したとします。

excel_sheet.column_dimensions['A'].width = 100
excel_sheet.row_dimensions[1].height = 180

すると、Excel画面ではこのように編集されています。

まとめ

構文1:column_dimensions[‘A~…’].width = 幅の大きさ

構文2:column_dimensions[1~…].height = 高さの大きさ

ポイント:実際のExcelで見ると、横幅は指定した数の7倍になる。

Step5:Excelファイルを上書き保存

excel_file.save('ファイル名')

最初のライブラリのインポートと同様にこの一文も大事です。

Excelファイルを編集したあとには、必ず上書き保存をしますよね?

Pythonで編集してもそれは同じことです。

上書き保存をしないと、編集したデータが消えてしまうので注意してください。

ファイル名の付け方は、以下のようにイメージしておいてください。

ファイル名の付け方
  • 読み込んだときと同じファイル名:上書き保存
  • 読み込んだときとは違うファイル名:名前をつけて保存

編集したのを上書き保存したい場合は、読み込んだときと同じファイル名を指定してください。

まとめ

構文:読み込んだExcelファイル.save(‘ファイル名’)

ポイント:上書き保存なら、同じファイル名を指定。

終わりに

最後まで、読んでいただきありがとうござました!

セルの幅は調整できましたか?

これからもExcelの操作に関する記事を投稿していきますので、お楽しみに。

では、また!

最後まで読んでくれてありがとう