ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

Excelでセルの値をセットする時は、まとめてセットした方が速い。

同僚の人に教えてもらった。
Cell.Value=値よりも、Range.Value=2次元配列の方が、速度が速いってこと。

設定するセル数にもよるが、hogeの方が、hoge2よりも10倍くらい速かった。
(参考)CSVファイル (カンマ区切) を2次元配列として既存のワークシートに一括挿入する方法


それはそれでいいとして、どうせ自動化職人による、自動化職人のためのツールなので、
言語の制約はないということで、Javaで書いたら速くなるんじゃね?と思った。
ということで、検証してみた。

Java版(Jakarta POI使用)


Java版(Java Excel API使用)

結果、

というわけで、Excel吐き出すなら、JExcelApi最強だなってことになりました。


ただ、いっつも自動化ツール作るときに、脊髄反射的にVBScriptで実装しちゃうんだよね。
脊髄反射的にコーディング出来ることの裏返しでもあるのだけど。
Javaでも良いのだけど、コンパイルとか面倒だし。
rubyだのperlだのpythonだのは、普段開発に使ってるマシンにはインストールしてないし。


しっかし、いつまでも自動化ツールとか書いてるけど、
いくつになっても自動化ツールとか書き続けるんだろうか。