前提・実現したいこと
Python3.6.8にて、openpyxlを用いてExcelに画像を貼り付けに取り組んでいます。
画像を任意のセルに貼り付ける事は出来ましたが、セルサイズに合わせて画像サイズの編集が行えません。
発生している問題・エラーメッセージ
下図のように結合したセル(B2:E10)サイズに合わせて、貼り付け画像を編集を行いたいのですが方法が分かりません。
該当のソースコード
python
1import openpyxl 2import cv2 3 4pic_file = './lena.png' 5 6wb = openpyxl.Workbook() 7ws = wb.worksheets[0] # 1番目のシートを編集対象にする 8ws.title = 'SheetName' # 1番目のシートに名前を設定 9ws.merge_cells('B2:E10') # B2:E10 でセル結合 10 11# 画像のサイズを取得 12pic_img = cv2.imread(pic_file) 13height, width = pic_img.shape[:2] 14 15img = openpyxl.drawing.image.Image(pic_file) 16ws.add_image(img, 'B2') # シートに画像貼り付け 17wb.save('./test.xlsx') # 保存
試したこと
以下のリンク先に「Python Excelのセルの幅・高さを変更する」部分がありますが、
変更する行や列全体で高さや幅が変更されてしまう為、行いたい事が実現できません。
リンク内容
Python
1import openpyxl 2 3# ブックを取得 4ブック変数 = openpyxl.Workbook(ファイル名) 5# シートを取得 6シート変数 = ブック変数[シート名] 7# セルへ書き込む 8シート変数.row_dimensions[行].height = 高さ 9シート変数.column_dimensions[列].width = 幅
申し訳ありませんが、
結合したセル(任意のセル)サイズに合わせた画像を貼り付けについて、
アドバイスを頂けないでしょうか?
あなたの回答
tips
プレビュー