JavaでのExcel操作にPOI HSSF APIを使用しています。Excel セルの 1 つに「2009 年 8 月 1 日」という日付値があり、HSSF API を使用してこの値を読み取ろうとすると、セル タイプが数値として検出され、日付の「Double」値が返されます。以下のサンプル コードを参照してください。
cell = row.getCell(); // date in the cell '8/1/2009'
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING:
cellValue = cell.getRichStringCellValue().getString();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
cellValue = new Double(cell.getNumericCellValue()).toString();
break;
default:
}
Cell.getCellType() は NUMERIC_TYPE を返すため、このコードは日付を double に変換します! :(
HSSF POIの日付をそのまま読み取る方法はありますか!?