java程序读取excel文件并创建一个数组以将其插入数据库表

时间:2017-12-01 09:49:04

标签: java excel apache-poi

我正在写一个java程序,在apache poi的帮助下从excel文件中读取。我想编写一个程序,从excel创建对象数组,并更新数据库。

我能够在apache poi的帮助下阅读excel文件(使用示例提供),但在阅读excel文件后,我不知道如何在java中创建包含所有数据的数组。 第一行表示表字段(即列名:EX name,id等)。

1)即使在excel文件中反转/更改了订单,逻辑也应该足够智能以检测列。 表格示例:

代码:

XSSFSheet sheet = workbook.getSheetAt(0);
    Iterator < Row >  rowIterator = sheet.iterator();
    while (rowIterator.hasNext()) {
        row = (XSSFRow) rowIterator.next();
        Iterator < Cell >  cellIterator = row.cellIterator();

        while ( cellIterator.hasNext()) {
           Cell cell = cellIterator.next();

           switch (cell.getCellType()) {
              case Cell.CELL_TYPE_NUMERIC:
              System.out.print( 
              cell.getNumericCellValue() + " \t\t " );
              break;

              case Cell.CELL_TYPE_STRING:
              /*System.out.print(
              cell.getStringCellValue() + " \t\t " );
              */break;
           }
        }
        System.out.println();
     }

1 个答案:

答案 0 :(得分:0)

     XSSFWorkbook workbook = new XSSFWorkbook(file);
        XSSFSheet sheet = workbook.getSheetAt(0);
        Iterator < Row >  rowIterator = sheet.iterator();
// using for loop on rows of excel sheet
        for(int i=sheet.getFirstRowNum()+1;i<=sheet.getLastRowNum();i++){
              Row ro=sheet.getRow(i);
              for(int j=ro.getFirstCellNum();j<ro.getLastCellNum();j++){
                   Cell ce = ro.getCell(j);
                   DataFormatter formatter = new DataFormatter();
                   String str = formatter.formatCellValue(ce);
            //add the logic to update the aaray         
            }

        }