2016-09-23 13 views
0

私はApache POIの新機能で、日付を扱う簡単なプログラムを書いています。私は異なる欄に日付が書かれたExcelシートを読み込んでいます。 これらの日付は、さまざまな形式で、さまざまな列で指定できます。私が書いたコードによれば、それは正しく値を読みますが、それを日付として取る代わりに、文字列として割り当てます。文字列を日付に変換するapache POI

また、私が直面する第2の問題は、入力値が実際に日付か小数か単なる文字列かどうかを認識する方法です。私は、行の値を取得するために書かれている何

です:これは何かを与えることができない

Cell aCell = row.getCell(cell+i); 
if(i==4 && HSSFDateUtil.isCellDateFormatted(aCell)){ 
       System.out.println("The cell contains a date value: " + aCell.getDateCellValue()); 
      } 

。例外はIllegalStateArgumentです。理由は何でしょうか? 私はたくさんのGoogle検索をしましたが、この場合は解決策が見つかりませんでした。

ありがとうございます!

答えて

0

これらのリンクはあなたを助けるかもしれない: -

あなたが正常値を読んだことが、日付フィールドを解析するために、これらのリンクを試してみてください。

Set Date format using Apache POI

POI - How do I set cell value to Date and apply default Excel date format?

あなたは、さまざまな日付フォーマットをチェックすることができます。

+0

リンクをシャーリーズしてくれてありがとう。私の手を試しました。私は正しい値を得ている。しかし、セルタイプは1に設定されています。つまり、数値タイプではなく文字列として読み込みます。 – abhi

+0

現在の文字列を解析できますか?あなたのコメントをちょっと凝ってください。 –

+0

いいえ、まだできません。シナリオは:excelファイルで、日付形式がdd.MM.yyyyの場合、セルの種類が0(CELL_TYPE_NUMERIC)になります。しかし、ExcelファイルでMM.dd.yyyyという形式で日付を指定すると、セルのタイプが1(CELL_TYPE_STRING)になります。この問題は私が現時点で把握できない修正が必要なものです。セルの種類が0の場合は、さまざまな日付形式を扱うのが容易になります。 Apache POIフレームワークを使用してシナリオを処理する方法はありますか? – abhi

関連する問題