zoukankan      html  css  js  c++  java
  • POI解析Excel代码

    // 批量区域数据导入
        @Action(value = "area_batchImport")
        public String batchImport() throws IOException {
            List<Area> areas = new ArrayList<Area>();
            // 编写解析代码逻辑
            // 基于.xls 格式解析 HSSF
            // 1、 加载Excel文件对象
            HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream(file));
            // 2、 读取一个sheet
            HSSFSheet sheet = hssfWorkbook.getSheetAt(0);
            // 3、 读取sheet中每一行
            for (Row row : sheet) {
                // 一行数据 对应 一个区域对象
                if (row.getRowNum() == 0) {
                    // 第一行 跳过
                    continue;
                }
                // 跳过空行
                if (row.getCell(0) == null
                        || StringUtils.isBlank(row.getCell(0).getStringCellValue())) {
                    continue;
                }
                Area area = new Area();
                area.setId(row.getCell(0).getStringCellValue());
                area.setProvince(row.getCell(1).getStringCellValue());
                area.setCity(row.getCell(2).getStringCellValue());
                area.setDistrict(row.getCell(3).getStringCellValue());
                area.setPostcode(row.getCell(4).getStringCellValue());
                // 基于pinyin4j生成城市编码和简码
                String province = area.getProvince();
                String city = area.getCity();
                String district = area.getDistrict();
                province = province.substring(0, province.length() - 1);
                city = city.substring(0, city.length() - 1);
                district = district.substring(0, district.length() - 1);
                // 简码
                String[] headArray = PinYin4jUtils.getHeadByString(province + city
                        + district);
                StringBuffer buffer = new StringBuffer();
                for (String headStr : headArray) {
                    buffer.append(headStr);
                }
                String shortcode = buffer.toString();
                area.setShortcode(shortcode);
                // 城市编码
                String citycode = PinYin4jUtils.hanziToPinyin(city, "");
                area.setCitycode(citycode);
    
                areas.add(area);
            }
            // 调用业务层
            areaService.saveBatch(areas);
    
            return NONE;
        }
  • 相关阅读:
    常用数据分析方法及分析工具,比如:EXCEL、SAS、SPSS
    常用代码管理工具,如git、hg、svn
    Memcached分布式内存对象缓存系统
    10个出色的NoSQL数据库
    虚拟机
    使用自己的CSS框架(转)
    响应式设计,bootstrap框架的IE兼容问题
    区别ie8和ie9的方法
    焦点问题onfocus=”this.blur()”代替方法(转)
    php 引用其他action中的方法
  • 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10336185.html
Copyright © 2011-2022 走看看