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");
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。