1

我正在使用 Apache POI 读取 excel 数据集和 JPA 以持久保存到数据库中。这工作正常,除了我需要使用相同的方法将一组日期/时间值正确地输入数据库(使用 apache poi 读取,然后持久保存到数据库中)。目前我正在使用 SimpleDateFormat 这真的没有任何用处。我们需要查询此列,因此我需要在数据库中理想地使用 mySQL 日期。

时间/日期列的数据集示例

21/10/2012 13:20:00

爪哇

     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,因此您不需要任何进一步的转换。

PS:为什么不HSSFCell.getDateCellValue()直接使用呢?

于 2013-03-27T10:12:13.600 回答