• poi解析excle文件(xls,xlsx)


    解析xls文件

    /**
         * 解析xls文件
         * 
         * @param path 文件路径
         * @throws Exception 
         */
        public static void showXls(String path) throws Exception {
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(path)));
            HSSFSheet sheet = null;
            for (int i = 0; i < workbook.getNumberOfSheets(); i++) {// 获取每个Sheet表
                sheet = workbook.getSheetAt(i);
                for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum,获取最后一行的行标
                    HSSFRow row = sheet.getRow(j);
                    if (row != null) {
                        for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个
                            if (row.getCell(k) != null) { // getCell 获取单元格数据
                                System.out.print(row.getCell(k) + "	");
                            } else {
                                System.out.print("	");
                            }
                        }
                    }
                    System.out.println(""); // 读完一行后换行
                }
                System.out.println("读取sheet表:" + workbook.getSheetName(i) + " 完成");
            }
        }
    

      解析xlsx文件

    /**
         * 解析xlsx文件
         * 
         * @param path 文件路径
         * @throws Exception
         */
        public static void showXlsx(String path) throws Exception {
            File excelFile = new File(path);
            XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(excelFile));
            XSSFSheet sheet = wb.getSheetAt(0);
            for (int i = 0; i < wb.getNumberOfSheets(); i++) {// 获取每个Sheet表
                sheet = wb.getSheetAt(i);
                for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum,获取最后一行的行标
                    XSSFRow row = sheet.getRow(j);
                    if (row != null) {
                        for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个
                            if (row.getCell(k) != null) { // getCell 获取单元格数据
                                System.out.print(row.getCell(k) + "	");
                            } else {
                                System.out.print("	");
                            }
                        }
                    }
                    System.out.println(""); // 读完一行后换行
                }
                System.out.println("读取sheet表:" + wb.getSheetName(i) + " 完成");
            }
        }
    

      解析xls和xlsx文件

    /**
         * 解析xls和xlsx文件
         * 
         * @param path 文件路径
         * @throws Exception
         */
        public static void showExcel(String path) throws Exception {
            String fileType = path.substring(path.lastIndexOf(".") + 1, path.length());
            Workbook wb = null;
            if ("xls".equals(fileType)) {
                wb = new HSSFWorkbook(new FileInputStream(new File(path)));
            } else {
                wb = new XSSFWorkbook(new FileInputStream(path));
            }
            Sheet sheet = null;
            for (int i = 0; i < wb.getNumberOfSheets(); i++) {// 获取每个Sheet表
                sheet = wb.getSheetAt(i);
                for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum,获取最后一行的行标
                    Row row = sheet.getRow(j);
                    if (row != null) {
                        for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个
                            if (row.getCell(k) != null) { // getCell 获取单元格数据
                                System.out.print(row.getCell(k) + "	");
                            } else {
                                System.out.print("	");
                            }
                        }
                    }
                    System.out.println(""); // 读完一行后换行
                }
                System.out.println("读取sheet表:" + wb.getSheetName(i) + " 完成");
            }
        }
    

      

    main方法

     public static void main(String[] args) throws Exception {
        showExcel("E:\upload\测试.xls");
     }
    

      

  • 相关阅读:
    [转帖]Mootools源码分析03 Hash
    iphone的手势与触摸编程学习笔记
    怎样使项目中的cocos2d默认模板支持ARC内存管理
    xCode4.2下添加TableViewController会出现”Prototype cells“警告
    关于31天App教程示例中一些因SDK版本而出现的问题
    带你掌握二进制SCA检测工具的短板及应对措施
    HDZ城市行深圳站|AIoT时代,如何抓住智联生活的战略机会点?
    分析内部运行机制,教你解决Redis性能问题
    今天谈谈用户故事地图,不是用户故事
    云图说|ModelArts Pro:让AI开发更简单
  • 原文地址:https://www.cnblogs.com/l412382979/p/8662685.html
Copyright © 2020-2023  润新知