zoukankan      html  css  js  c++  java
  • java读取Excel内容

    https://blog.csdn.net/Ma_Da_O007/article/details/94560566

    java读取Excel内容

    1.添加依赖

    添加依赖:

      <dependency>    
            <groupId>org.apache.poi</groupId>    
            <artifactId>poi</artifactId>    
            <version>3.16</version>
      </dependency>
      <dependency>    
            <groupId>org.apache.poi</groupId>    
            <artifactId>poi-ooxml</artifactId>    
            <version>3.14</version>
      </dependency><!-- 处理excel和上面功能是一样的-->
      <dependency>    
            <groupId>net.sourceforge.jexcelapi</groupId>    
            <artifactId>jxl</artifactId>    
            <version>2.6.10</version>
      </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.实现方法

    创建Util类,写一个读取的方法,返回结果为List,List中包裹一个List,类似二维数组,包括行列

    public class ExcelUtil {
        // 去读Excel的方法readExcel,该方法的入口参数为一个File对象
        public static List readExcel(File file) {
            try {
                // 创建输入流,读取Excel
                InputStream is = new FileInputStream(file.getAbsolutePath());
    
                // jxl提供的Workbook类
                Workbook wb = Workbook.getWorkbook(is);
    
                // Excel的页签数量
                int sheet_size = wb.getNumberOfSheets();
    
                for (int index = 0; index < sheet_size; index++) {
                    List<List> outerList = new ArrayList<List>();
    
                    // 每个页签创建一个Sheet对象
                    Sheet sheet = wb.getSheet(index);
    
                    // sheet.getRows()返回该页的总行数
                    for (int i = 0; i < sheet.getRows(); i++) {
                        List innerList = new ArrayList();
    
                        // sheet.getColumns()返回该页的总列数
                        for (int j = 0; j < sheet.getColumns(); j++) {
                            String cellinfo = sheet.getCell(j, i).getContents();
    
                            if (cellinfo.equals("")) {
                                continue;
                            }
    
                            innerList.add(cellinfo);
                        }
    
                        outerList.add(i, innerList);
                    }
    
                    return outerList;
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (BiffException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return null;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    3.实际调用

    在main方法或者需要的地方调用

    
    public class Test {
        public static void main(String[] args) {
            File file = new File("D:/readExcel.xls"); //根据文件path获取文件
            List excelList = ExcelUtil.readExcel(file);
            System.out.println("list中的数据打印出来");
    
            for (int i = 0; i < excelList.size(); i++) {
                List list = (List) excelList.get(i);
    
                for (int j = 0; j < list.size(); j++) {
                    String string = list.get(j).toString();
                    System.out.println(string);
                }
                System.out.println();
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    4.注意

    目前这个方法无法读取’.xlsx’的内容,无法识别读取到的流

  • 相关阅读:
    a==null和a.equals("null")的区别
    PHP_EOL换行符
    mysql 重启
    异或的用法
    so easy(并查集+unordered_map)
    牛客练习赛51 C 勾股定理
    Period II
    Simpsons’ Hidden Talents
    POJ-1961 Period
    poj-2406 Power Strings
  • 原文地址:https://www.cnblogs.com/hd92/p/11701549.html
Copyright © 2011-2022 走看看