zoukankan      html  css  js  c++  java
  • JAVA 读取 EXCEL

    package cn.walle.sysGrid;
    
    import java.io.FileInputStream;  
    import java.io.IOException;  
    import java.io.InputStream;  
    import java.util.Iterator;  
    import org.apache.poi.hssf.usermodel.HSSFCell;  
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
    import org.apache.poi.ss.usermodel.Cell;  
    import org.apache.poi.ss.usermodel.Row;  
    import org.apache.poi.ss.usermodel.Sheet;  
    import org.apache.poi.ss.usermodel.Workbook;  
    import org.apache.poi.xssf.usermodel.XSSFWorkbook; 
    
    
    
    public class Test {
    
       /* public static void main(String[] args) throws Exception {
           File file = new File("D:\AA.xls");
           String[][] result = getData(file, 1);
           */
        
          public static void main(String[] args) {  
                readXml("D:\AA.xls");  
                System.out.println("-------------");  
    //            readXml("d:/test2.xls");  
            } 
        public static void readXml(String fileName){  
            boolean isE2007 = false;    //判断是否是excel2007格式  
            if(fileName.endsWith("xlsx"))  
                isE2007 = true;  
            try {  
                InputStream input = new FileInputStream(fileName);  //建立输入流  
                Workbook wb  = null;  
                //根据文件格式(2003或者2007)来初始化  
                if(isE2007)  
                    wb = new XSSFWorkbook(input);  
                else  
                    wb = new HSSFWorkbook(input);  
                int sheetSize = wb.getNumberOfSheets();
                System.out.println("一共有"+sheetSize+"个SHEET页");
                Sheet sheet = wb.getSheetAt(0);     //获得第一个表单  
                Iterator<Row> rows = sheet.rowIterator(); //获得第一个表单的迭代器  
                while (rows.hasNext()) {  
                    Row row = rows.next();  //获得行数据  
                    System.out.println("第" + row.getRowNum()+"行");  //获得行号从0开始  
                    Iterator<Cell> cells = row.cellIterator();    //获得第一行的迭代器  
                    while (cells.hasNext()) {  
                        Cell cell = cells.next();  
                        System.out.println("第 " + cell.getColumnIndex()+"列");  
                        switch (cell.getCellType()) {   //根据cell中的类型来输出数据  
                        case HSSFCell.CELL_TYPE_NUMERIC:  
                            System.out.println(cell.getNumericCellValue());  
                            break;  
                        case HSSFCell.CELL_TYPE_STRING:  
                            System.out.println(cell.getStringCellValue());  
                            break;  
                        case HSSFCell.CELL_TYPE_BOOLEAN:  
                            System.out.println(cell.getBooleanCellValue());  
                            break;  
                        case HSSFCell.CELL_TYPE_FORMULA:  
                            System.out.println(cell.getCellFormula());  
                            break;  
                        default:  
                            System.out.println("unsuported sell type");  
                        break;  
                        }  
                    }  
                }  
            } catch (IOException ex) {  
                ex.printStackTrace();  
            }  
        }  
           
           
           
    }
  • 相关阅读:
    更快的datetime string to python datetime转换模块 ciso8601
    华为新员工入职培训计划曝光!你留不住员工的原因就在这! zz
    在vmware中安装macos系统 vm12 osx10.11 or higher
    vmware for linux (centos65) 卸载相关
    第八章多态
    第七章 复用类
    第六章 访问权限控制
    Think in Java 第四 五 章
    Think in Java 第三章操作符
    Thank in Java
  • 原文地址:https://www.cnblogs.com/devan/p/5755644.html
Copyright © 2011-2022 走看看