懷着激動地心情開始本人的第一篇博文編寫,希望用博客記錄我的技術進階路上的歷程,也給需要的同志們提供一點小小的指導。OK,進入今天的主題吧——POI Excel文件操作基礎話說Apache的office文擋的操作庫的確很神奇也很強大,最近我在寫一個關於“隨機抽取試卷”功能的小項目,需要設計java對excel文件的操作,於是走上了踏上了探索POI的路程。需要用的POI Jar包在這裏哦!http://poi.apache.org/download.html看看我的導入的jar包:這裏需要對擴展名爲.xlsx的文件進行讀取並輸出,POI的讀取方式是讀取Excel表格的每一個小格的數據,一個小格就是一個類XSSFCell對象。Okay,還是代碼看的比較直接比較爽:public static String readXlsx(String path) { String text = ""; try { OPCPackage pkg = OPCPackage.open(path); XSSFWorkbook excel = new XSSFWorkbook(pkg); XSSFSheet sheet1 = excel.getSheetAt(0); for(@SuppressWarnings("rawtypes") java.util.Iterator itRow = sheet1.iterator(); itRow.hasNext();) { XSSFRow row = (XSSFRow) itRow.next(); for(java.util.Iterator<Cell> it = row.cellIterator(); it.hasNext();) { XSSFCell cell = (XSSFCell) it.next(); text += cell.getStringCellValue() + "\n"; } } excel.close(); } catch (Exception e) { e.printStackTrace(); log.warning(e.toString()); } return text; }
調用這個方法可以讀取你的.xlsx文件裏的數據哦!看看效果吧!look here:當然,excel表格的擴展名可以是“.xlsx”也可以是“.xls”,這兩種類型文件操作的方式是不同的,但是還是大同小異的啦,不過調用的類 不同而已。這裏給一個讀取“.xls”文件的方法:public static String readXls(String path) { String text=""; try { FileInputStream is = new FileInputStream(path); HSSFWorkbook excel=new HSSFWorkbook(is); //獲取第一個sheet HSSFSheet sheet0=excel.getSheetAt(0); for (Iterator rowIterator=sheet0.iterator();rowIterator.hasNext();) { HSSFRow row=(HSSFRow) rowIterator.next(); for (Iterator iterator=row.cellIterator();iterator.hasNext();) { HSSFCell cell=(HSSFCell) iterator.next(); //根據單元的的類型 讀取相應的結果 if(cell.getCellType()==HSSFCell.CELL_TYPE_STRING) text+=cell.getStringCellValue()+"\t"; else if(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC) text+=cell.getNumericCellValue()+"\t"; else if(cell.getCellType()==HSSFCell.CELL_TYPE_FORMULA) text+=cell.getCellFormula()+"\t"; } text+="\n"; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return text; }
POI還支持Word、PPT文件的操作,慢慢學習吧。我的博文處女作到這裏就要完成了,希望每天進步一點,fighting!
Apache POI操作excel
POI操作excel文件基礎
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.