Excelで図形を挿入して視覚的なレイアウトや注釈を追加することは、データの可視化やプレゼンテーションで非常に役立ちます。Excelの標準機能で図形を挿入するのは簡単ですが、Pythonのライブラリ xlwings を使うことで、プログラム的に図形を挿入・操作することができるのです。
本記事では、xlwingsを使ってExcelシートに図形を挿入する方法を詳しく解説します。初めての方でも分かりやすく、実践しやすいようにステップバイステップで説明しますので、ぜひ最後までお読みください!
xlwingsとは?
まず、xlwingsとは何かについて簡単に説明しましょう。xlwingsはPythonからExcelを操作するためのライブラリです。Excelのファイルを開いたり、セルの値を操作したり、マクロの実行など、Excelで行うほとんどの操作をPythonのコードで実行できます。
図形の挿入もその一つです。xlwingsを使えば、プログラム内でExcelシートに円や四角形などの図形を挿入し、位置やサイズ、色などをカスタマイズすることができます。
xlwingsを始めてみたい!と思ったあなた!
以下の記事に始め方が詳しくまとめてあるので是非ご覧ください!
図形を挿入してみよう
図形を挿入する際には、sheet.api.Shapes.AddShapeメソッドを使います。Excelの内部APIを呼び出して、様々な種類の図形を挿入できるのです。
長方形の挿入
まずは、シンプルな長方形を挿入する方法です。
import xlwings as xw
# Excelアプリケーションを起動
app = xw.App(visible=False)
# 新しいワークブックを作成
wb = app.books.add()
# シートを選択
sheet = wb.sheets[0]
# 長方形を挿入 (ShapeType=1で長方形)
shape = sheet.api.Shapes.AddShape(1, 100, 100, 200, 100) # (種類, 左, 上, 幅, 高さ)
shape.Name = "MyRectangle"
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()
四角形をExcel上に自動表示出来たね!
図形に名前もついてるね!
円の挿入
次に、円を挿入してみましょう。ShapeTypeを変えることで、異なる図形を挿入できます。
import xlwings as xw
# Excelアプリケーションを起動
app = xw.App(visible=False)
# 新しいワークブックを作成
wb = app.books.add()
# シートを選択
sheet = wb.sheets[0]
# 円を挿入 (ShapeType=9で円)
shape = sheet.api.Shapes.AddShape(9, 300, 100, 100, 100) # (種類, 左, 上, 幅, 高さ)
shape.Name = "MyCircle"
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()
左、上で位置を、幅と高さで図形のサイズが指定できるんだね!
挿入した図形のカスタマイズ
挿入した図形は、xlwingsのAPIを使用して様々なカスタマイズが可能です。以下では、図形の色やテキストの変更方法を紹介します。
図形の色を変更する
図形の背景色を変更したい場合は、Fill.ForeColorプロパティを使用します。
import xlwings as xw
# Excelアプリケーションを起動
app = xw.App(visible=False)
# 新しいワークブックを作成
wb = app.books.add()
# シートを選択
sheet = wb.sheets[0]
# 長方形を挿入 (ShapeType=1で長方形)
shape = sheet.api.Shapes.AddShape(1, 100, 100, 200, 100) # (種類, 左, 上, 幅, 高さ)
shape.Name = "MyRectangle"
# 長方形の背景色を青に設定
shape.Fill.ForeColor.RGB = xw.utils.rgb_to_int((255, 0, 0)) # 青色
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()
図形にテキストを追加する
挿入した図形にテキストを追加することも簡単です。
import xlwings as xw
# Excelアプリケーションを起動
app = xw.App(visible=False)
# 新しいワークブックを作成
wb = app.books.add()
# シートを選択
sheet = wb.sheets[0]
# 長方形を挿入 (ShapeType=1で長方形)
shape = sheet.api.Shapes.AddShape(1, 100, 100, 200, 100) # (種類, 左, 上, 幅, 高さ)
shape.Name = "MyRectangle"
# 長方形にテキストを追加
shape.TextFrame2.TextRange.Text = "Hello, 完全独学Python!"
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()
このコードを使えば、長方形の中に「Hello,完全独学Python!」というテキストが表示されるよ!
まとめ
xlwingsを使えば、Excelのシートに簡単に図形を挿入し、視覚的に魅力的なレポートやプレゼン資料を作成することができます。本記事で紹介した基本的な図形挿入とカスタマイズの方法を応用すれば、もっと複雑な図形のレイアウトやデザインも自由に扱えるようになるでしょう。
Excel作業を自動化したいと考えている方や、視覚的な資料作成を効率化したい方にとって、xlwingsは強力なツールです。ぜひ、この機会に試してみてください!
コメント