如何读取excel文件数据每个单元格并根据列名

时间:2015-12-24 12:16:42

标签: java database

我正在尝试读取excel文件数据并将该数据保存到数据库中。 数据正在进入控制台。我在excel文件中有两列,即Userid和RequestId我试图以相同的方式在数据库表中类似地保存数据。 数据在表中,但两列具有相同的值。 我需要它们。我正在使用此代码进行阅读。

    FileInputStream file2 = new FileInputStream(new File("C://excel.xls"));
            HSSFWorkbook workbook = new HSSFWorkbook(file2);
            HSSFSheet sheet = workbook.getSheetAt(0);
            Iterator<Row> rowIterator = sheet.iterator();
            rowIterator.next();
           while(rowIterator.hasNext())

            {

                Row row = rowIterator.next();
                //For each row, iterate through each columns
                Iterator<Cell> cellIterator = row.cellIterator();
                while(cellIterator.hasNext())
                {
                    Cell cell = cellIterator.next();

double value2=(int) cell.getNumericCellValue();
  System.out.println("value1: "+value2);
  }`

在控制台中,它正确显示,但数据在数据库中不会以这种方式显示

请帮帮我 提前致谢

1 个答案:

答案 0 :(得分:0)

有一些Data类:

class Data {
    private final double val1;
    private final double val2;

    public Data(final double val1; final double val2) {
        this.val1 = val1;
        this.val2 = val2;
    }

    // getters etc
}

final List<Data> datas = new ArrayList<>();
for (final Row r : sheet) {
    // Maybe skip an header row
    final Cell cell1 = r.getCell(0); // 0-based
    final Cell cell2 = r.getCell(1);
    if (cell1 != null && cell2 != null) {
        datas.add(new Data(cell1.getNumericCellValue(), cell2.getNumericCellValue()));
    }
}

// TODO: write datas to DB

NB:狂野代码(即甚至没有尝试编译它)

一些阅读:https://poi.apache.org/spreadsheet/quick-guide.html#Iterator