poi 導入Excle
阿新 • • 發佈:2019-01-23
tro 版本 class http ati sta 工作 () mic
一,AOP 是什麽
Apache POI 提供java 程序對Microsoft Office格式文檔的讀寫功能操作
二,所需要的jar包
三,實現代碼
1, 讀取Excle 返回Workbook格式
//讀取excel public static Workbook readExcel(String filePath) { Workbook wb = null; if (filePath == null) { return null; } String extString = filePath.substring(filePath.lastIndexOf(".")); InputStream is= null; try { is = new FileInputStream(filePath); //獲取文件流 if (".xls".equals(extString)) { return wb = new HSSFWorkbook(is); //將文件留轉換成相對的Excle 模板 , 2003版本 } else if (".xlsx".equals(extString)) { return wb = new XSSFWorkbook(is); //將文件留轉換成相對的Excle 模板 2007版本 } else { return wb = null; } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return wb; }
2, 接下來就是要對獲取到的workbook 類型進行再一次數據獲取
Workbook :Exlce 模板
Sheet :工作簿
Row : 行數據
Cell : 列數據
public static void getExcle(String path){ Workbook wb=null; //獲取Excle Sheet sheet = null; //獲取Excle 中的工作簿 Row row = null; //獲工作簿中行數據 wb = readExcel(path); //獲取Excle sheet = wb.getSheetAt(0);//獲取第一個工作簿 int rownum =sheet.getPhysicalNumberOfRows(); //獲取最大行數 for(int i=0 ; i<rownum ;i++){ //循環遍歷 數據 row = sheet.getRow(i); //獲取當前行數據 System.out.println("第一列:"+row.getCell(1)+"---第二列"+row.getCell(2)); } }
優化代碼
public static Map getIncident(String filePath) { Workbook wb = null; Sheet sheet = null; Row row = null; List<Map<String, String>> list = null; Map<String, String> map = new LinkedHashMap<String, String>();//存放Excle表格內容 wb = readExcel(filePath); if (wb != null) { //用來存放表中數據 list = new ArrayList<Map<String, String>>(); //獲取第一個sheet sheet = wb.getSheetAt(0); //獲取最大行數 int rownum = sheet.getPhysicalNumberOfRows(); //獲取第一行 row = sheet.getRow(0); //獲取最大列數 int colnum = row.getPhysicalNumberOfCells(); for (int i = 0; i < rownum; i++) { row = sheet.getRow(i); if (row != null) { map.put((String) getCellFormatValue(row.getCell(0)), (String) getCellFormatValue(row.getCell(1))); } else { break; } } } return map; /*//遍歷解析出來的list for (Map.Entry<String,String> entry : map.entrySet()) { System.out.print(entry.getKey()+":"+entry.getValue()+","); }*/ }
poi 導入Excle