ExcelシートをJavaで読みます。ニーズでかいですよねえ。
Jakarta POIが2004年8月以降バージョンアップされていないのに対して、JExcelAPIは2007年2月現在も最新版がリリースされ、ちゃんとメンテナンスされている。
POIはコーディングもめんどくさいし、リストボックスセルがあるだけで読めなくなるなど、イマイチ感がありますが、こっちはシンプルに書けるし調子もいい感じ。
import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; public class JExcelAPISample { public static void main(String[] args) throws Exception { File file = new File("test.xls"); Workbook workbook = Workbook.getWorkbook(file); Sheet sheet = workbook.getSheet("Sheet1"); Cell cell = sheet.getCell(0, 0); System.out.println(cell.getContents()); workbook.close(); } }
参考は
ChangeLog
Tutorial
JExcelAPI にチャレンジ
JExcelApi (Java Excel API) を用いたExcelファイルを新規作成するサンプル
JExcelApi 2.6で × などの特定の文字を適切に処理できるようにするためのパッチ
最後のリンク先に詳しいですが、「×」が文字化けするんですわ。こりゃいかん、ということでパッチを作成されたのですが、それよりも
2006.10.29追記: JExcelApiが×などを適切に扱うことが出来ない件は、JExcelApiを変更せずとも (本質的ではないのだが) うまい回避策が見つかりました。とりあえずその対応方法にて回避し続ける方向性とします。
のほうがおすすめです。
なんじゃいそれは?と言いますと、
JExcelApiメーリングリスト開設
メーリングリストに参加してアーカイブを見れば分かります*1。