エクセルシートの内容を表示するJavaコードがあります。これで、数値/文字列/ブールデータを操作しているときに、常に正しい結果が得られます。とは異なり、コードをテストするために、Excelにいくつかの変更を加え、日付値を追加しました(例:2009年9月4日)。私のコードを実行すると、望ましくない結果が返されました。コードとo/pは次のように表示されます。Excelシートから日付値を読み取って表示するにはどうすればよいですか?ApachePoiを使用しています。XSSFDateUtil
セルの値が日付であるかどうかを確認するために、次のようなことを行うことができます if-else
か?それは可能な解決策ですか?
Javaコード:
FileInputStream file = new FileInputStream(new File(FileName));
System.out.println("The contents of sheet are:\n");
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch(cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t\t");
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "\t\t");
break;
}
}
System.out.println("");
}
file.close();
O/P取得しています
ColA | ColB....(few other columns)
32755.0|(other values)
代わりに、数値の代わりにその日付値を出力する必要があります。私のシートはColAの下で4-SEP-89の日付を持っており、いくつかの数字が表示されています。
希望するO/P
ColA | ColB....(few other columns)
4-SEP-89|(other values)
注:-これは私のコードの一部であり、正常に実行されています。エラーは発生しませんが、上記のようにo/pを少し変更する必要があります。私はしばらくこれに取り組んできました。私はここの前にExcelシートの表示に関連する質問をしました-他のいくつかと一緒に解決されたExcelドキュメント(Javaコード)を読んでいる間に問題が発生します。とにかくありがとう。
また、私が思う限り、Excelからのすべては、文字列として読み取られます(ブール値を除く)?そうじゃない?