java:poi实现excel导入

        在开发过程中,有很多情况下需要我们来实现导入的操作,需要后端将导入的数据做解析,返回给前端,我们可以利用poi来实现一个简单的导入。

        1.第一步我们需要将poi的pom导入到我们的项目中。我这里用的4.1,可以用一个适合的版本哈。


    org.apache.poi
    poi-ooxml
    4.1.0

        2.依赖导入进来之后,定义一个controller

    java:poi实现excel导入_第1张图片

         3.接下来我们直接看核心,我是调用的excelReader.read()方法,可以根据行数来读取数据。

然后遍历这个集合,通过get的方式获取数据,然后放到我们定义的对象里边。因为发现有的导入的时候文件里有特殊字符,我是通过replaceAll()去去除特殊字符,方法有很多哈哈哈。

@Override
    public List importExcel(MultipartFile file) throws IOException {
        //存放导入的excel数据
        List listVO = CollUtil.newArrayList();
        try (InputStream inputStream = file.getInputStream()) {
            // 调用用 hutool 方法读取数据 默认调用第一个sheet
            ExcelReader excelReader = ExcelUtil.getReader(inputStream);
            //根据行获取数据
            List> list = excelReader.read(2);
            for (List row : list) {
                ExcelOnlySourceMaterialDetailsVO buyerInfo = new ExcelOnlySourceMaterialDetailsVO();
                //获取excel第二行指定列的数据进行填充
                buyerInfo.setSerialNumber(row.get(0).toString().replaceAll("\\s*|\r|\n|\t", ""));
                buyerInfo.setSupplierName(row.get(1).toString().replaceAll("\\s*|\r|\n|\t", ""));
                buyerInfo.setSupplierType(row.get(2).toString().replaceAll("\\s*|\r|\n|\t", ""));
                listVO.add(buyerInfo);
            }
        } catch (Exception e) {
            throw new RuntimeException("导入出错:" + e.getMessage());
        }
        return listVO;
    } 
  

        4.接下来测试一下数据是不是可以正常拿到,需要先定义一个excel文件,(我的开发过程中,是需要先下载一个模板)。

java:poi实现excel导入_第2张图片

java:poi实现excel导入_第3张图片

          数据取到了,然后set到要返回的对象里就可以啦。java导入excel的方法有很多种。有没有大佬有其它更好的方法呀,望指正呢。

你可能感兴趣的:(excel,java)