上传exel表写入数据库

此方法只支持exel2007,暂不兼容2003

@Override
public Result importUser(MultipartFile file, HttpServletRequest request) {
    List<User> list = new ArrayList<User>();
    XSSFWorkbook workbook =null;
    int a = 0;
   
    //创建Excel,读取文件内容
    try {
        workbook =  new XSSFWorkbook(file.getInputStream());
        System.out.println("4444");
    } catch (IOException e) {
        e.printStackTrace();
    }
    System.out.println("5555");
    //获取第一个工作表
    XSSFSheet sheet = workbook.getSheet("用户信息");
    System.out.println("6666");
    //获取sheet中第一行行号
    int firstRowNum = sheet.getFirstRowNum();
    //获取sheet中最后一行行号
    int lastRowNum = sheet.getLastRowNum();

    try {
        //循环插入数据
        for(int i=firstRowNum+1;i<=lastRowNum;i++){
            XSSFRow row = sheet.getRow(i);

            User users = new User();

            XSSFCell username = row.getCell(0);//名称
            if(username!=null){
                username.setCellType(Cell.CELL_TYPE_STRING);
                users.setName((username.getStringCellValue()));
            }

            XSSFCell number = row.getCell(1);//工号
            if(number!=null){
                number.setCellType(Cell.CELL_TYPE_STRING);
                users.setNumber((number.getStringCellValue()));
            }
            users.setCreateTime(new Date());
            users.setUpdateTime(new Date());

            list.add(users);
        }
       a = userMapper.inserList(list);//往数据库插入数据
        System.out.println("查看插入"+a);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    if(a>0){
        return Result.success();
    }
    return Result.fail();
}
借鉴:https://blog.csdn.net/qq_40162735/article/details/83552154
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值