Excelの操作というよくあるタスク対してプログラミング的にどのようなアプローチが考えられるだろうか。
個人的に単純に好きな言語ならscalaだがもっと適したのがなんかあるだろうと色々調べてみた。
ざっと並べるとこんなところか。
1)VBA
2)WSH
3)PowerShell
4)各プログラミング言語のライブラリを使う。
やはり一番メジャーなのはVBAだろう。
VBAにはすでに日々お世話になっているが、もっとオブジェクト指向的な機能が欲しい。
VBA以外だとWSHのJScriptとかがよさげだ。
馴染みやすそうなJSの言語仕様だったので試しに使ってみたが、
他のファイルとの連携とかがやりにくそうだったので微妙に感じた。
簡単にJavaのimportみたいなことができればよかったんだが。。。
ちょっとした処理なら拡張VBAみたいなイメージで十分に使えるだろう。
だがMS的にはサポートを縮小しているようなのが気になる所だ。
PowerShellはJScriptと違って言語仕様を学ぶのが面倒臭そうだったのでスルー。
上記のような公式的なアプローチ以外にもメジャーなプログラミング言語だと
たいていExcel操作のためのライブラリが存在している。
こういうタスクはスクリプトさくっとやりたいところだ。
でもLL系はまともに触ったことないんだよなあ。。。
面倒だがコンパイル言語で書くか。。。
ExcelだしC#で書くか。。。
そうえばJavaにPOIがあったな。
でもJavaで書くならラッパーライブラリ使ってScalaで操作しよう。
あれ結局Scalaに戻る。。。
2015年9月27日日曜日
2015年9月23日水曜日
Scalaでプロパティファイルを読み込む
設定ファイルとしてプロパティファイルを用いることがある。
サードパーティのライブラリなしでscalaでプロパティファイルを扱うときのコードサンプル
ようはJavaと同様
以上。
サードパーティのライブラリなしでscalaでプロパティファイルを扱うときのコードサンプル
ようはJavaと同様
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object ReadProperties{ | |
def main(args: Array[String]):Unit = { | |
readPropertyFile() | |
} | |
//プロパティファイルを読み込んで表示 | |
def readPropertyFile():Unit = { | |
val p = new java.util.Properties() | |
p.load(new java.io.FileInputStream("conf.properties")) | |
val result = p.getProperty("hoge") | |
println(result) | |
} | |
} |
以上。
登録:
投稿 (Atom)