[解決済み] Apache POIでExcelの日付のあるセルを読み込むには?
2023-07-06 09:02:45
質問
Apache POI 3.6を使っていますが、以下のような日付のエクセルファイルを読みたいです。
8/23/1991
.
switch (cell.getCellType()) {
...
...
case HSSFCell.CELL_TYPE_NUMERIC:
value = "NUMERIC value=" + cell.getNumericCellValue();
break;
...
}
しかし、これは数値型を取り、次のような値を返します。
33473.0
.
Numeric Cell Typeを使おうとしたのですが、うまくいきません。
dbltemp=row.getCell(c, Row.CREATE_NULL_AS_BLANK).getNumericCellValue();
if (c == 6 || c == 9) {
strTemp= new String(dbltemp.toString().trim());
long tempDate = Long.parseLong(strTemp);
Date date = new Date(tempDate);
strVal = date.toString();
}
どうすれば問題を解決できますか?
どのように解決するのですか?
注意:HSSFDateUtilは非推奨です。
どのセル、すなわち各行の列の位置が例えば0であることが分かっている場合、次のようにすることができます。
row.getCell(0).getDateCellValue()
を直接指定することができます。
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFCell.html#getDateCellValue()
UPDATE: 以下はその例です。上のswitch caseのコードにこれを適用できます。私は、数値と日付の値をチェックして印刷しています。この場合、私のシートの最初の列は日付を持っているので、row.getCell(0)を使用しています。
を使用することができます。
if (HSSFDateUtil.isCellDateFormatted ..
のコードブロックを直接switchケースで使用します。
if (row.getCell(0).getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
System.out.println ("Row No.: " + row.getRowNum ()+ " " +
row.getCell(0).getNumericCellValue());
if (HSSFDateUtil.isCellDateFormatted(row.getCell(0))) {
System.out.println ("Row No.: " + row.getRowNum ()+ " " +
row.getCell(0).getDateCellValue());
}
}
出力は
Row No.: 0 39281.0
Row No.: 0 Wed Jul 18 00:00:00 IST 2007
Row No.: 1 39491.0
Row No.: 1 Wed Feb 13 00:00:00 IST 2008
Row No.: 2 39311.0
Row No.: 2 Fri Aug 17 00:00:00 IST 2007
関連
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
FindBugの使用概要
-
Java基礎編 - オブジェクト指向
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
Java の double データ型における 0.0 と -0.0 の問題
-
Spring Bootは、Tomcatの組み込みのmaxPostSizeの値を設定します。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] セルの値を日付に設定し、Excelのデフォルトの日付フォーマットを適用するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
Java の switch case 文で必要な定数式の問題の解決法
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
ApplicationContextの起動エラーです。条件レポートを表示するには、アプリケーションを'de'で再実行します。
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
シェルコマンドやスクリプトのJavaコール
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
switch case文のcaseの後の列挙定数は列挙型なし