單元格類型

讀取Excel數據

package com.java.test.poi; import java.io.File; import java.io.FileInputStream; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellValue; import org.apache.poi.ss.usermodel.FormulaEvaluator; 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 parseExcel { // if(!wb.isSheetHidden(sheetnum)){}//判斷工作表sheet是否被隱藏,隱藏返回true,未被隱藏返回false // if(!row.getZeroHeight()){}//判斷行是否隱藏,隱藏返回true public static void mainParseExcel() { //把所有文件種交易集合到一個list集合中 String xlsxpath = "C:/Users/Desktop/1.xlsx"; int startNum = 0;//從第幾個sheet頁開始解析 /*解Excel*/ Workbook wb = null; //創建工作簿對象 try{ FileInputStream fi = new FileInputStream(new File(xlsxpath)); wb = new XSSFWorkbook(fi); //操作Excel2007的版本,擴展名是.xlsx//xlsm文件也可以兼容 fi.close();//關閉輸入流 } catch (Exception e){ System.out.println(e); } int num = wb.getNumberOfSheets();//得到sheet的個數 for(int sheetnum=startNum; sheetnum<num; sheetnum++){//行,列和sheet索引都是從0開始 if(!wb.isSheetHidden(sheetnum)){//判斷工作表是否被隱藏,隱藏返回true,未被隱藏返回false /**解sheet頁*/ Sheet sheet = wb.getSheetAt(sheetnum); //獲取給定索引處的Sheet對象。 FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); //先返回XSSF和HSSF對象,再創建一個用於計算公式單元格的對象 int rowNum = sheet.getLastRowNum() + 1; //取最后一行的行號 /*雙for循環遍歷工作簿中單元格*/ for(int i=0; i<rowNum; i++){ //行循環 Row row = sheet.getRow(i); //行對象 int cellNum = row.getLastCellNum(); //取最后一列列號 for(int j=0; j<cellNum; j++){ //列循環 Cell cell = row.getCell(Short.parseShort(j + "")); //指定單元格 CellValue c = evaluator.evaluate(cell); //單元格值對象 if(c != null){ //判斷單元格是否有值 System.out.println(c.getCellType()); System.out.println(c.getCellTypeEnum()); switch(c.getCellType()) { case STRING: String value = c.getStringValue(); //得到單元格值 System.out.println("String:" + value); break; case NUMERIC: double dvalue = c.getNumberValue(); //得到單元格內數字 System.out.println("Double:" + dvalue); break; default: System.out.println("---"); } } } } } } } public static void main(String[] args) { mainParseExcel(); } }
