1

私はApachePOIを使用してExcelデータセットを読み込み、JPAを使用してデータベースに永続化しています。これは、同じ方法を使用して日付/時刻値のセットをデータベースに正しく取得する必要があるという事実を除いて、正常に機能しています(apache poiで読み込み、データベースに保持します)。現在、私はSimpleDateFormatを使用していますが、これは実際には役に立ちません。この列をクエリする必要があるため、データベースでmySQLの日付を使用する必要があります。

時刻/日付列のデータセットの例

2012/10/21 13:20:00

Java

     Sheet sheet1 = wb.getSheetAt(0);

        String dateTimeFormat = "dd/MM/yyyy HH:mm:ss";
        SimpleDateFormat dateFormat = new SimpleDateFormat(dateTimeFormat);


        for (int i = 1; i <= sheet1 .getLastRowNum(); i++) {

            row = sheet1 .getRow(i);
            String sheet1Id = i+"";

            double excelDateTime = row.getCell(0).getNumericCellValue();
            Date javaDateTime=HSSFDateUtil.getJavaDate(excelDateTime,false);
            String dateTime = dateFormat.format(javaDateTime);

            Table1 sheet1=new Table1 (sheet1Id ,dateTime)
            addToDatabase(table1); 

        }

これに対する解決策と、mySQLデータベースにこの列を作成するための最良の方法に関するアドバイスもあります(列は現在varcharです)?

乾杯

4

1 に答える 1

2

JPA / JDBCを使用する場合、java.util.DateはDATETIME列に対応します(またはTIMESTAMP、またはDATE 。微妙な違いについては、 MySQLマニュアルを参照してください)。から直接Dateオブジェクトを取得しているのでHSSFDateUtil、それ以上の変換は必要ありません。

HSSFCell.getDateCellValue()PS:直接使ってみませんか?

于 2013-03-27T10:12:13.600 に答える