openpyxlを使用してすべてのセルに「wrap_text」を適用する 質問する

openpyxlを使用してすべてのセルに「wrap_text」を適用する 質問する

私は、openpyxl を使用して XLSX に書き出している Pandas データフレームを持っています。スプレッドシートのセルには長い文章が多く含まれており、シートのすべてのコンテンツ (つまり、すべてのセル) に 'wrap_text' を設定したいと考えています。

これを実行する方法はありますか? openpyxl には 'wrap_text' の 'Alignment' オプションがあることは確認しましたが、これをすべてのセルに適用する方法がわかりません。

編集:

フィードバックのおかげで、次の方法でうまくいきました。注: スタイルは不変なのでコピーしてください。

for row in ws.iter_rows():
    for cell in row:      
        cell.alignment =  cell.alignment.copy(wrapText=True)

ベストアンサー1

私は openpyxl>=2.5.6 を使用しています。セル A1 のテキストを折り返したい場合は、以下のコードを使用できます。

from openpyxl.styles import Alignment

ws['A1'].alignment = Alignment(wrap_text=True)

おすすめ記事