Kotlin + POI で Excelシート読み込み
のんきにお昼間にやってみましたが、、これは素敵ですね。
package com.example.demo
import java.io.File
import org.apache.poi.ss.usermodel.WorkbookFactoryfun main(args : Array<String>) {
val inputFile = File("C:\\Users\\user\\Desktop\\sample.xlsx")
val inputStream = inputFile.inputStream()
val workbook = WorkbookFactory.create(inputStream);
val firstSheet = workbook.getSheetAt(0)
firstSheet.forEach {
it.forEach {
if (it.columnIndex > 0) print(",")
print(it)
}
println()
}
}
明示的に記述していないクラスは import なくてもエラーにならないという・・。まぁコンフリクトするなら書かなきゃでしょうけど。
ちゃんと型推論してくれるので、2段目の it では Cell を前提にメソッドの候補も挙げてくれる。ビルド前のことなので多少時間がかかってもありがたい。勝手な推測ですが、コンパイル時に型を暗黙にであれ決めているので、実行時に型推論し(て実行速度が落ち)たり、型違いで落ちることが少ないと思われる。
POIもそのまま使えてこんなにシンプルなコード。これはいいなぁ。