java解析excel文件的方法
建立工程前需要导入POI包。POI相关jar包下载地址:http://poi.apache.org/download.html
1.解析.xlsx后缀名的的EXCEL文件:
packagecom.shuai.hello; importjava.io.FileInputStream; importjava.io.IOException; importjava.io.InputStream; importorg.apache.poi.hssf.usermodel.HSSFCell; importorg.apache.poi.xssf.usermodel.XSSFCell; importorg.apache.poi.xssf.usermodel.XSSFRow; importorg.apache.poi.xssf.usermodel.XSSFSheet; importorg.apache.poi.xssf.usermodel.XSSFWorkbook; publicclassReadExcel{ publicstaticvoidmain(String[]args)throwsIOException{ //Filefile=newFile("C:/Users.xlsx"); InputStreamstream=newFileInputStream("C:/Users.xlsx"); XSSFWorkbookxssfWorkbook=newXSSFWorkbook(stream); XSSFSheetxssfSheet=xssfWorkbook.getSheetAt(0); introwstart=xssfSheet.getFirstRowNum(); introwEnd=xssfSheet.getLastRowNum(); for(inti=rowstart;i<=rowEnd;i++) { XSSFRowrow=xssfSheet.getRow(i); if(null==row)continue; intcellStart=row.getFirstCellNum(); intcellEnd=row.getLastCellNum(); for(intk=cellStart;k<=cellEnd;k++) { XSSFCellcell=row.getCell(k); if(null==cell)continue; switch(cell.getCellType()) { caseHSSFCell.CELL_TYPE_NUMERIC://数字 System.out.print(cell.getNumericCellValue() +"\t"); break; caseHSSFCell.CELL_TYPE_STRING://字符串 System.out.print(cell.getStringCellValue() +"\t"); break; caseHSSFCell.CELL_TYPE_BOOLEAN://Boolean System.out.println(cell.getBooleanCellValue() +"\t"); break; caseHSSFCell.CELL_TYPE_FORMULA://公式 System.out.print(cell.getCellFormula()+"\t"); break; caseHSSFCell.CELL_TYPE_BLANK://空值 System.out.println(""); break; caseHSSFCell.CELL_TYPE_ERROR://故障 System.out.println(""); break; default: System.out.print("未知类型"); break; } } System.out.print("\n"); } } } /*StringfileType=filePath.substring(filePath.lastIndexOf(".")+1,filePath.length()); InputStreamstream=newFileInputStream(filePath); Workbookwb=null; if(fileType.equals("xls")){ wb=newHSSFWorkbook(stream); }elseif(fileType.equals("xlsx")){ wb=newXSSFWorkbook(stream); }else{ System.out.println("您输入的excel格式不正确"); }*/
2.解析后缀为.xls的EXCEL文件:
packagecom.shuai.hello; importjava.io.File; importjava.io.FileInputStream; importjava.io.IOException; importorg.apache.poi.hssf.usermodel.HSSFCell; importorg.apache.poi.hssf.usermodel.HSSFRow; importorg.apache.poi.hssf.usermodel.HSSFSheet; importorg.apache.poi.hssf.usermodel.HSSFWorkbook; importorg.apache.poi.poifs.filesystem.POIFSFileSystem; publicclassReadXls{ publicstaticvoidmain(String[]args)throwsIOException,IOException{ Filefile=newFile("C:/Users/dengta/Desktop/ok1.xls"); POIFSFileSystempoifsFileSystem=newPOIFSFileSystem(newFileInputStream(file)); HSSFWorkbookhssfWorkbook=newHSSFWorkbook(poifsFileSystem); HSSFSheethssfSheet=hssfWorkbook.getSheetAt(0); introwstart=hssfSheet.getFirstRowNum(); introwEnd=hssfSheet.getLastRowNum(); for(inti=rowstart;i<=rowEnd;i++) { HSSFRowrow=hssfSheet.getRow(i); if(null==row)continue; intcellStart=row.getFirstCellNum(); intcellEnd=row.getLastCellNum(); for(intk=cellStart;k<=cellEnd;k++) { HSSFCellcell=row.getCell(k); if(null==cell)continue; //System.out.print(""+k+""); //System.out.print("type:"+cell.getCellType()); switch(cell.getCellType()) { caseHSSFCell.CELL_TYPE_NUMERIC://数字 System.out.print(cell.getNumericCellValue() +""); break; caseHSSFCell.CELL_TYPE_STRING://字符串 System.out.print(cell.getStringCellValue() +""); break; caseHSSFCell.CELL_TYPE_BOOLEAN://Boolean System.out.println(cell.getBooleanCellValue() +""); break; caseHSSFCell.CELL_TYPE_FORMULA://公式 System.out.print(cell.getCellFormula()+""); break; caseHSSFCell.CELL_TYPE_BLANK://空值 System.out.println(""); break; caseHSSFCell.CELL_TYPE_ERROR://故障 System.out.println(""); break; default: System.out.print("未知类型"); break; } } System.out.print("\n"); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。