记一段完整的导入代码,复制即可用,Excel格式

//  controller 层

/**
     * 导入
     * @param
     * @return
     */
    @ApiOperation(value = "单位导入CSV文件")
    @PostMapping("/importUnitFile")
    @Log("导入CSV文件")
    public JsonResult importDevice(@RequestParam("file") MultipartFile file) throws Exception {
        if (file.isEmpty()) return JsonResult.fail("文件为空!!!");
        Integer importDevice = unitService.importDevice(file);
        if (importDevice == -1) {
            return JsonResult.success("添加成功!!!");
        }  else{
            return JsonResult.success("添加失败,请检查第"+importDevice+"条信息是否正确,第"+importDevice+"条以上添加成功!!!");
        }
    }


//  接口

    /**
     * 单位导入
     * @param file
     * @return
     */
    Integer importDevice(MultipartFile file) throws Exception;



// 业务实现

    /**
     * 单位导入
     * @param file
     * @return
     */
    @Override
    @Transactional
    public Integer importDevice(MultipartFile file) throws Exception{
        Integer count = 0;
        // 读取收到文件中数据
        List<UnitExcel> unitExcelList = EasyExcel.read(file.getInputStream()).head(UnitExcel.class).headRowNumber(0).sheet().doReadSync();
        LocalDateTime localDateTime = LocalDateTime.now();
        for (int i = 1; i < unitExcelList.size(); i++) {
            String name = unitExcelList.get(i).getName();
            String remarks = unitExcelList.get(i).getRemarks();
            String code = unitExcelList.get(i).getCode();

            if(name == null ||  code == null){
                throw new ServiceException("关键数据不能为空!");
            }
            Unit unit = new Unit();
            Integer factoryId = SecurityUtil.getFactoryUser().getFactoryId();

            unit.setFactoryId(factoryId);
            unit.setName(name);
            unit.setStatus(1);
            unit.setCode(code);
            unit.setRemarks(remarks);
            unit.setCreateTime(localDateTime);
            unit.setUpdateTime(localDateTime);
            int insert =unitMapper.insert(unit);
            if( insert == 0){
                throw new ServiceException("数据库繁忙,请稍后重试");
            }
            count = -1;
        }
        return count;
    }

// 实体类  

@Data
public class UnitExcel implements Serializable {


    @ExcelProperty("单位名称")
    @ColumnWidth(20)
    private String name;

    @ExcelProperty("编码")
    @ColumnWidth(20)
    private String code;

    @ExcelProperty("备注")
    @ColumnWidth(20)
    private String remarks;




}

这里需要注意是,实体类中的数据类型全部为String ,  在insert 前转换即可!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值