zoukankan      html  css  js  c++  java
  • 使用poi解析Excel文件转化数组形式的集合(List<String[] list)

    1.pom.xml引入jar包

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

    2.解析代码

        /**
         * 解析Excel文件转化数组形式的集合
         * @param in
         * @return
         */
        public static List<String []> excelToList(InputStream in) {
            List<String[]> strings = new ArrayList<>();
            Workbook workbook = null;
            // 当前读取行数-0-based
            int currentRowNum = 0;
            try {
                workbook = WorkbookFactory.create(in);
                Sheet sheet = workbook.getSheetAt(0);
                logger.info("sheet name:" + sheet.getSheetName() + ",last rownum:" + sheet.getLastRowNum());
                for (int x = 0; x <= sheet.getLastRowNum(); x++) {
                    Row row = sheet.getRow(x);
                    currentRowNum = row.getRowNum();
                    StringBuffer sb = new StringBuffer();
                    //设置单元格类型
                    for (int i=0; i< row.getLastCellNum();i++){
                        if(row.getCell(i) != null){
                            row.getCell(i).setCellType(CellType.STRING);
                        }
                        String s = PoiUtils.getStringCellValue(row.getCell(i));
                        sb.append(s);
                        sb.append(",");
                    }
                    strings.add(sb.toString().substring(0, sb.toString().lastIndexOf(",")).split(","));
                }
            }catch (Exception e){
                logger.error("数据读取到第"+currentRowNum+"行时失败");
                e.printStackTrace();
            }finally {
                try {
                    if (null != workbook) {
                        workbook.close();
                    }
                } catch (Exception e2) {
                }
                try {
                    if (null != in) {
                        in.close();
                    }
                } catch (Exception e2) {
                }
            }
            return strings;
        }
  • 相关阅读:
    红蓝对抗
    SQLMAP用法大全
    Web安全工程师(进阶)课程表
    msf连接PostgreSQL数据库
    我的web安全工程师学习之路——规划篇
    web安全深度剖析pdf
    js面试题
    js克隆一个对象
    js面试必考:this
    前端面试:js数据类型
  • 原文地址:https://www.cnblogs.com/xianshen/p/13094755.html
Copyright © 2011-2022 走看看