1. まとめトップ

Excel(エクセル)扱えるライブラリ

マクロ生きているとエクセルとどうしても付き合わなければいけない時がありますかね

更新日: 2017年10月14日

1 お気に入り 10252 view
お気に入り追加

この記事は私がまとめました

twcritiqueさん

Apache POI/ Java

POIという名称は、Microsoft Officeのファイル形式をリバースエンジニアリングした際、その形式が意図的に、しかも中途半端に分かりにくくされていたため、皮肉を込めて "Poor Obfuscation Implementation" (質の悪い難読な実装) と呼んだものの頭字語に端を発している。

Javaでしたらこれを使っておけばまず間違いないでしょうし、ほかの言語だったとしてもJavaとのブリッジとかバインディングとかが用意されていればそれを経由してPOIを呼び出すこともできたりします。

officegen/Node.js

xlwingsはPythonからExcelのデータを読み込んだり、ExcelからPythonをコールできます。その結果、PythonからExcelにデータを追加したり、検索結果を表示させることも可能です。VBAの代わりに使うことが可能です。

Pythonでサーバーにアクセスして、そこから取得したデータをExcelに表示しちゃうみたいなこともできますね。Excelを可視化のプラットフォームにしちゃうみたいな。仮に5秒に1回更新だとしても、簡易的に監視するくらいなら、全然問題ないと思います。多分グラフの体裁もプログラムで整えることができると思います。

下のスクリーンショットはOracle Virtual Boxという無償の仮想マシンソフトで、これまた無償のDebian Linux上で、無償のLibre Officeを動かしいてる図。

普通、VBAへには、コマンドラインからの引数は渡せません。
しかし、VBSをかますことにより、あたかも、コマンドラインからの引数を渡すことができます。

Excelの無料版ともいえる「Open Office.org Calc」の,マクロ機能に入門するためのサイト。

Excel VBAとほぼ同じコードが,フリーソフトであるCalc上でも動作する。

そもそもの仕様を知る

1