2

Apache POI を使用して、いくつかの Excel ファイルを読み取り、それらを Oracle DB に変換しています。私のコードはおおよそ次のようになります。

wb = new HSSFWorkbook( new FileInputStream( FORECAST_HEADER_EXCEL_FILE ) );
Sheet sheet = wb.getSheetAt( 0 );
int rows = sheet.getPhysicalNumberOfRows();

// For each row...
for ( int r = 0; r < rows; r++ ) {
    Row row = sheet.getRow( r );
    ForecastLine forecastLine = new ForecastLine();

    cell = row.getCell( EXCEL_COLUMN_BUCKET_START );
    forecastLine.setBucketStart( cell == null 
        ? null 
        : cell.getDateCellValue() );

}

2 枚のシート (別々のファイル) では日付は正しく表示されますが、1 枚では年が間違っています (1900 年、あたかも年がなかったかのように)。列は Excel で同じようにフォーマットされているようです。POIがそれらを正しく解析するかどうかを確認するために、日付にさまざまなExcel形式を試しましたが、そうではありません. POI 日付パーサーに影響を与える方法があるかどうかはわかりません。何か案は?

4

0 に答える 0