こんにちは私は。でExcelシートの値を読み取ろうとしていHSSFCell
ます。私のExcelシェットは4列で構成されています。日付、名前、In_timeおよびOut_time。
私のループで私は与えました。
HSSFRow row = (HSSFRow) itr.next();
Iterator cell = row.cellIterator();
List data = new ArrayList();
while(cell.hasNext())
{
HSSFCell value = (HSSFCell) cell.next();
if (value.getCellType() == Cell.CELL_TYPE_NUMERIC)
{
if(HSSFDateUtil.isCellDateFormatted(value))
{
if(HSSFDateUtil.isADateFormat((int)value.getNumericCellValue(), "dd:mmm:yyyy"))
{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = df.format(value.getDateCellValue());
data.add(date);
}
}
else
{
data.add(value.getNumericCellValue());
}
}
else if (value.getCellType() == Cell.CELL_TYPE_STRING)
{
data.add(value.getStringCellValue());
}
else
{
data.add("");
}
}
sheetData.add(data);
フィールドの日付と名前は正しく取得されています。しかし、私が時間を取得しようとすると、その日付の値が与えられます。たとえば、私のExcelでは、午前4:05:12の時間があります。しかし、1899-12-30のような日付として値を取得します。 Apache POIを使用してExcelシートから日付値を読み取るにはどうすればよいですか?