zoukankan      html  css  js  c++  java
  • POI导入数据

    package util;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    public class ReadExcel {
    	
    	public static final String OFFICE_EXCEL_2003_POSTFIX = "xls";
        public static final String OFFICE_EXCEL_2010_POSTFIX = "xlsx";
        public static final String EMPTY = "";
        public static final String POINT = ".";
        public static final String NOT_EXCEL_FILE = " : Not the Excel file!";
        public static final String PROCESSING = "Processing...";
    	
        
    	public static List<ArrayList<String>> readExcel(String path,int sheelNum,int startRow,int cols){
    		 if (path == null || EMPTY.equals(path)) {
    	            return null;
    	        } else {
    	            String postfix = getPostfix(path);
    	            if (!EMPTY.equals(postfix)) {
    	                if (OFFICE_EXCEL_2003_POSTFIX.equals(postfix)) {
    	                    return readXls(path,sheelNum,startRow,cols);
    	                } else if (OFFICE_EXCEL_2010_POSTFIX.equals(postfix)) {
    	                    return readXlsx(path,sheelNum,startRow,cols);
    	                }
    	            } else {
    	                System.out.println(path + NOT_EXCEL_FILE);
    	            }
    	        }
    	        return null;
    	}
    	 /**
         * Read the Excel 2003-2007
         * @param path the path of the Excel
         * @return
         * @throws IOException
         */
        public static List<ArrayList<String>> readXls(String path,int sheelNum,int startRow,int cols) {
            System.out.println(PROCESSING + path);
            List<ArrayList<String>> list = new ArrayList<ArrayList<String>>();
    		try {
    			InputStream is = new FileInputStream(path);
    			HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
    			    HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(sheelNum);
    			    if (hssfSheet == null) {
    			        return list;
    			    }
    			    // Read the Row
    			    for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
    			        HSSFRow hssfRow = hssfSheet.getRow(rowNum);
    			        if (hssfRow != null) {
    			        	ArrayList<String> rowList = new ArrayList<String>();
    			        	for (int col = 0; col < cols; col++) {
    							rowList.add(hssfRow.getCell(col).getStringCellValue());
    						}
    			            list.add(rowList);
    			        }
    			    }
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
            return list;
        }
    	
    	 /**
         * Read the Excel 2010
         * @param path the path of the excel file
         * @return
         * @throws IOException
         */
        public static List<ArrayList<String>> readXlsx(String path,int sheelNum,int startRow,int cols) {
            System.out.println(PROCESSING + path);
            List<ArrayList<String>> list = new ArrayList<ArrayList<String>>();
            InputStream is;
    		try {
    			is = new FileInputStream(path);
    			XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
    	        // Read the Sheet
                XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(sheelNum);
                if (xssfSheet == null) {
                    return list;
                }
                // Read the Row
                for (int rowNum = startRow; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
                    XSSFRow xssfRow = xssfSheet.getRow(rowNum);
                    if (xssfRow != null) {
                    	ArrayList<String> rowList = new ArrayList<String>();
                    	for (int col = 0; col < cols; col++) {
    						rowList.add(xssfRow.getCell(col).getStringCellValue());
    					}
                        list.add(rowList);
                    }
                }
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}catch (IOException e) {
    			e.printStackTrace();
    		}
            return list;
        }
        /**
         * get postfix of the path
         * @param path
         * @return
         */
        private static String getPostfix(String path) {
            if (path == null || EMPTY.equals(path.trim())) {
                return EMPTY;
            }
            if (path.contains(POINT)) {
                return path.substring(path.lastIndexOf(POINT) + 1, path.length());
            }
            return EMPTY;
        }
    }
    

      

  • 相关阅读:
    linux---集群架构初探(14)静态、动态、流量术语
    linux---集群架构初探(13)http与www服务基础介绍
    linux---集群架构初探(12)ansible剧本模式(playbook)
    linux---集群架构初探(11) 实践:一键部署nfs
    linux---集群架构初探(10)Ansible常用模块
    试题一 讲解
    aws 试题
    linux 常用命令。
    nohub命令简单介绍。
    Linux 系统conda环境,pip文件的导出和安装。
  • 原文地址:https://www.cnblogs.com/xiaotao726/p/4469593.html
Copyright © 2011-2022 走看看