openpyxlでLibreOffice Calcのファイルを作る
LibreOffice CalcでPythonのOpenPyXLで作業を自動化
LibreOffice CalcはVBAを利用して作業を自動化できます。Excelと同じ表計算ソフトであるLibreOffice Calcでは、最近ではPythonのOpenPyXLを用いて作業を事業化する傾向が増えています。一部の人はVBAが時代遅れであるため、Pythonを推奨する傾向があります。私自身もVBAで充分ではないかと考えることがありますが、実際にPythonで自動化を試したことがありませんでした。
未経験ながらも、PythonよりもVBAを主張するのは不自然だと感じ、LibreOffice CalcでOpenPyXLを活用してみることを決意しました。このブログのカテゴリでは、LibreOffice CalcでOpenPyXLを使用して何ができるのかを詳しく紹介していきます。
LibreOffice CalcでOpenPyXLを使用する際の準備
LibreOffice CalcでOpenPyXLを活用するためには、まずPythonをパソコンにインストールする必要があります。以下は、Windows、Mac、およびChromebookのLinux開発環境へのPythonのインストール手順を紹介します。
Pythonのインストール方法
WindowsにPythonをインストール
Windows環境にPythonをインストールするには、Pythonプログラミング VTuber サプー様の分かりやすい動画がありますので参考にしてください。
MacにPythonをインストール
Mac環境にPythonをインストールするにはProgate様の分かりやすいブログ記事がありますので参考にしてください。
LinuxにPythonをインストール
LinuxにPythonをインストールするには、以下のジコログ様のブログ記事を参考に行ってください。
Windows、Mac、Linuxの場合
OpenPyXLをインストールする手順は簡単です。Windowsの場合はコマンドプロンプト、MacやLinuxの場合はターミナルや端末を開いて、以下のコマンドを入力してください。
pip install openpyxl
もしOpenPyXLが正しくインストールできない場合は、以下のコマンドを実行を実行してみてください。
py -m pip install openpyxl
py -m pip install -U openpyxl
これでOpenPyXLが正しくインストールされます。
VS Codeのインストール
VSCodeはMicrosoftが無料で提供している言語のいろんなプログラミングのコードを書くために用いられるコードエディターでPythonのコードを書くことが出来ます。
Windows、Mac、Linuxにインストール出来ます。
VSCodeをインストールするには、Pythonプログラミング VTuber サプー様の分かりやすい動画があり、Pythonのコードを書くための拡張機能のインストール方法も解説されているので、参考にしてください。
今回のブログ記事では、openpyxlでLibreOffice Calcのファイルを作る方法を解説します。
ファイルですが、任意の場所にしてください。
ファイル名は、お好きなファイル名にしてください(私はcode.pyにしました)。
※この記事ではLinux(Xbunstu)で行いましたが、Windows、Macでも同じ作業でopenpyxlでLibreOffice Calcのファイルを作ることが出来ます。
openpyxlでLibreOffice Calcのファイルを作る方法
1.openpyxlでLibreOffice Calcのファイルを作るコードを入力する
opnepyxlでLibreOffice Calcのファイルを作るコードを入力します。
コードは以下の通りです。
from openpyxl import Workbook
このコードの意味は以下の通りです。
- from openpyxl→openpyxlというライブラリをインポートする
- import Workbook→openpyxlライブラリからWorkbookクラスをインポートする
このコードを実行することで、Workbookクラスを使用できるようになります。
なおWorkbookクラスとは、ブック(Excelファイル)のことです。
よく分からないという人は、Excelのファイルを作る時に、初めにこのコードを入力すればいい、程度に思ってください。
2.ブックを作成するコードを入力する
LibreOffice Calcのブックを作成するコードを書きます。
ブックを作成するには、Workbookオブジェクトを使用します。
このオブジェクトをブックの変数であるwbという変数に代入します。
コードは以下の通りです。
wb = Workbook()
3.シートを選択する
Calcでブックを作成すると、必ずシートが一つ作成されます。
今回、このシートのA1セルにHello World!という文字を入力してみようと思います。
そのためには、シートを選択する必要があります。
選択するには、Workbook.active属性を使用します。
Workbook.active属性は、wb.activeと入力してください。
この属性をシートの変数であるwsに代入します。
コードは以下の通りです。
ws = wb.active
4.セルに文字を入力する
セルに文字を入力する際には、wsの後に[]をつけ、その中にセルの位置を入力します。
そして=をつけ、’’をつけ、その中に、文字を入力します。
今回はA1にHello World!と入力したいので、以下のコードを書きます。
ws['A1'] = 'Hello World!'
5.ブックを保存する
openpyxlでは、ブックを保存する際には、Workbook.saveメソッドを呼び出します。
Workbook.saveメソッドはwb.save(‘ファイル名’)と入力します。
今回はsampleというファイル名にしたいので、以下のようなコードを書きます。
wb.save('sample.xls')
ここで注意してほしいのが、拡張子です。
Calcでは、通常拡張子は.odsですが、この拡張子はopenpyxlだと使用出来ません。
Excelの拡張子である.xlsを使用してください。
以下は今まで書いたコードをまとめたものです。
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = 'Hello World!'
wb.save('sample.xlsx')
入力が終わったら、VSCodeの実行ボタンを押してください。
すると、左側のエクスプローラーにsample.xlsというファイルが現れ、ファイルが作成されたことが確認できます。
作成されたファイルを開いてみます。
するとシートのA1セルにHello World!という文字を入力されています。