送られてきたエクセルファイルをチェックしてるんだけど、
毎回同じところが文字切れしていて全体が見えない…。
openpyxlを使って「折り返して全体を表示」にする方法は無いの?
ありますよ!
簡単にできますのでぜひ活用してみてください!
openpyxlを使って、セル内の文字を折り返して全体を表示する方法を
Python歴3年の私が、できるだけわかりやすく解説し、解決に導きます。
openpyxlを使って、セル内の文字を折り返して全体を表示するには
「Alignment」の「wrapText」を指定します。
まずは実行見本をどうぞ。
実行見本
全コード
ひとまず全コードを網羅します。解説は後ほど行います。
import openpyxl
from openpyxl.styles.alignment import Alignment
wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']
orikaeshi = Alignment(wrapText = True)
ws['A2'].alignment = orikaeshi
wb.save('input.xlsx')
orikaeshi = Alignment(wrapText = True)
ws[‘A2’].alignment = orikaeshi
事前準備
- openpyxlのインストール
既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。
openpyxlのインストール方法
openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。
pip install openpyxl
※openpyxlを使用したことがある場合は、このインストール作業は不要
解説
インポート
>>1.import openpyxl
>>2.from openpyxl.styles.alignment import Alignment
「openpyxl」のインポートと、折り返して全体を表示するために、上記2行を記述します。
折り返して全体を表示
>>7.orikaeshi = Alignment(wrapText = True)
>>8.ws[‘A2’].alignment = orikaeshi
7行目の「Alignment()」でセルの設定をします。
「wraptext = True」と指定することで、「折り返して全体を表示」に変更することができます。
そしてその設定を「orikaeshi」という変数に入れています。
8行目で指定のセル(A2セル)に「orikaeshi」(7行目で設定した折り返し設定)を適用しています。
セル名の後には、「.alignment」を付けてください。
【 変数 = Alignment(wrapText = True) 】
【 ワークシート変数[‘セル名’].alignment = 変数 】
以上2行で、折り返して全体を表示することができます。
▼関連記事として、中央揃えにする方法、罫線を設定する方法などを解説しております。
その他の解説
既存ファイルを開いて保存する方法などの操作の基本解説は、下記記事で行っております。
ご参考ください。
うまく動作しない時
エラーが出る
No such file or directory: ○○
これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。
Permission denied: ○○
操作しようとしているファイルにアクセスできないというエラーです。
「ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。
開いていなければ、コンピューターを再起動して再度トライしてみましょう。
Worksheet ○○ does not exist
「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。
○○ is not defined
今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。
その他のエラー
その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。
最後に
文字を折り返して全体を表示する方法を解説いたしました。
「Alignment(wrapText = True)」を覚えておいてください。
最後までお読みいただき、ありがとうございました。がんばってください!