Excel导入Oracle数据库

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

public void expExcelToOracle(String string){
    FileInputStream is;        
    PreparedStatement pstmt=null;
    try {
    private static XSSFRow row;
        Connection conn =BaseDao.getConnnection();       //连接数据库
        is = new FileInputStream(string+".xlsx");        //这里是导入的xlsx格式的表格
        XSSFWorkbook wb = new XSSFWorkbook(is);
        String sql = "insert into test(id,shuhao,name,tbkucun) values (?,?,?,?)";
        pstmt = conn.prepareStatement(sql);
        for (int i = 0; i < wb.getNumberOfSheets(); i++) {
           XSSFSheet sheet = wb.getSheetAt(i);
           int totalRowNum = sheet.getLastRowNum();
           for (int k = 1; k <= totalRowNum; k++) {
               XSSFRow row = sheet.getRow(k);
               //这里是三目运算符,如果获取到excel某一列为空则赋 ""
               pstmt.setString(1,row.getCell(0)==null?"":row.getCell(0).toString());  
               pstmt.setString(2,row.getCell(1)==null?"":row.getCell(1).toString());    
               pstmt.setString(3,row.getCell(2)==null?"":row.getCell(2).toString());  
               pstmt.setString(4,row.getCell(3)==null?"":row.getCell(3).toString());    
               pstmt.addBatch();
           }  
           if ((i % 12000) == 0){
              pstmt.executeBatch();    //这里是批处理
              conn.commit();
           }
        }
        pstmt.executeBatch();
        conn.commit();
     } catch (Exception e) {
         e.printStackTrace();
     }
}

这里传入一个excel的名字,然后放到项目中就可以了!

不过,如果要导入的话必须导入所需要的jar包,这里我是导入的excel07版的【红框里的包是所需jar包】

Excel导入Oracle数据库_第1张图片

所需jar包可以到官网上下载。

转载于:https://my.oschina.net/u/2008084/blog/352265

你可能感兴趣的:(Excel导入Oracle数据库)