SpringBoot Excel表导入【POI的使用demo 简单 易懂】

前言:

最近在做迁移数据的工作,旧系统使用的省市区编码 和新系统使用的新版的有差异 需要将旧的转换新的 ,我这边想到的思路是 吧旧的和新的对应关系放到Map集合中 来进行操作 旧的为K新的为V 如果在库中查出来旧的在map中存在 就返回V 如果不存在就返回本身,但是发生冲突的省市区很多 不能一个一个的add到map中 于是想到了个 把对应的关系放到Excel表格中 使用poi 读取 再放到map中

废话不多说 上代码

第一步引入依赖:
在这里插入图片描述

在这里插入代码片
```		<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>RELEASE</version>
        </dependency>

第二步 书写代码

    public String updateCountCodePoi(String codeAndName)  {

        //存放冲突的map
        Map<String, String> codeMap = new HashMap<>();

        // 流读取文件
        FileInputStream is = null;
        try {
            is = new FileInputStream(new File("d:\\aaa.xlsx"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        // 根据流创建文件
        Workbook wb = null;
        try {
            wb = new XSSFWorkbook(is);
        } catch (IOException e) {
            e.printStackTrace();
        }

        Sheet sheet = wb.getSheetAt(0);//获取第一张表
        for (int i = 0; i <= sheet.getLastRowNum(); i++) {
            Row row = sheet.getRow(i);//获取索引为i的行,以0开始
            String key = row.getCell(0).getStringCellValue();//获取第i行的索引为0的单元格数据
            String value = row.getCell(1).getStringCellValue();//获取第i行的索引为0的单元格数据
            System.out.println("测试传来的值"+key + value);
            codeMap.put(key,value);
        }

        try {
            wb.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //String codeAndName = "130182河北省,石家庄市,藁城市";  //假设传来的参数
        String codeName = null;                               //假设返回的值
        //遍历map
        for (String key : codeMap.keySet()) {
            System.out.println("K== " + key + "V== " + codeMap.get(key));

            //校验传来的key是否存在map中
            if (codeAndName.equals(key)) {
                codeName = codeMap.get(codeAndName);
                return codeName;
            } else {
                codeName = codeAndName;
            }
        }
        System.out.println("测试返回值"+codeName);
        return codeName;

    }

第三步 查看Excel表格内容:

在这里插入图片描述

简单使用poi导入 可以只复制部分代码

如有大神发现bug 可以指点 一二
博客只为记录学习使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值