java之操作excel類

package com.lilysilk.util; import java.io.FileInputStream; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; /** * @author dsp *@Comments : 導入導出Excel工具類 *此類事實現操作指定的excel文件中的指定sheet頁、 *讀取指定的單元格內容、獲取sheet中最後一行的行號的功能 * * **/ public class ExcelUtil { private static XSSFSheet ExcelWSheet; /** * excel文件對象 */ private static XSSFWorkbook ExcelWBook; /** * 單元格對象 */ private static XSSFCell ExcelCell; /** * 捨得需要操作的excel的文件路徑和sheet名稱 * 在讀,寫excel文件時,均需先調用此方法,設定要操作的excel的路徑和sheet名稱 * @param Path * @param SheetName */ public static void setExcelFile(String Path,String SheetName) { FileInputStream ExcelFile; try { /** * 實例化excel文件的FileInputStream對象 */ ExcelFile=new FileInputStream(Path); /** * 實例化EXCEL文件的execlWXSSFWorkbook對象 */ ExcelWBook =new XSSFWorkbook(ExcelFile); /** * 實例化 XSSFCell 對象,指定excel文件中的sheet名稱,後續用於sheet中行、列和單元格的操作 */ ExcelWSheet=ExcelWBook.getSheet(SheetName); } catch (Exception e) { /** * TODO Auto-generated catch block */ e.printStackTrace(); } } /** * 讀取excel文件中指定的單元格的函數,此函數只支持擴展名爲.xlsx的excel文件 * @param rowNum * @param colNum * @return * @throws Exception */ public static String getCellData(int rowNum,int colNum)throws Exception { try { /** * 通過函數參數知道單元格的行號與列號,獲取指定的單元格對象 */ ExcelCell=ExcelWSheet.getRow(rowNum).getCell(colNum); /** * 如果單元格的內容爲字符串類型,則使用getStringCellValue方法來獲取單元格內容 * 如果單元格的內容爲數字類型, 則使用getNumericCellValue方法來獲取單元格內容 */ String CellData =ExcelCell.getCellType()==XSSFCell.CELL_TYPE_STRING?ExcelCell.getStringCellValue()+"":String.valueOf(Math.round(ExcelCell.getNumericCellValue())); return CellData; } catch(Exception e){ e.printStackTrace(); /** * 讀取遇到異常,則返回空字符串 */ return "錯了"; } } /** * 獲取excel文件的最後一行的行號 * @return */ public static int getLastRowNum() { /** * 函數返回sheet的最後一行行號 */ return ExcelWSheet.getLastRowNum(); } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章