java解析excel文件的方法

时间:2021-05-19

建立工程前需要导入POI包。POI相关jar包下载地址:http://poi.apache.org/download.html

1.解析.xlsx后缀名的的EXCEL文件:

package com.shuai.hello; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ReadExcel { public static void main(String[] args) throws IOException { //File file = new File("C:/Users.xlsx"); InputStream stream = new FileInputStream("C:/Users.xlsx"); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(stream); XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); int rowstart = xssfSheet.getFirstRowNum(); int rowEnd = xssfSheet.getLastRowNum(); for(int i=rowstart;i<=rowEnd;i++) { XSSFRow row = xssfSheet.getRow(i); if(null == row) continue; int cellStart = row.getFirstCellNum(); int cellEnd = row.getLastCellNum(); for(int k=cellStart;k<=cellEnd;k++) { XSSFCell cell = row.getCell(k); if(null==cell) continue; switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: // 数字 System.out.print(cell.getNumericCellValue() + "\t"); break; case HSSFCell.CELL_TYPE_STRING: // 字符串 System.out.print(cell.getStringCellValue() + "\t"); break; case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean System.out.println(cell.getBooleanCellValue() + "\t"); break; case HSSFCell.CELL_TYPE_FORMULA: // 公式 System.out.print(cell.getCellFormula() + "\t"); break; case HSSFCell.CELL_TYPE_BLANK: // 空值 System.out.println(" "); break; case HSSFCell.CELL_TYPE_ERROR: // 故障 System.out.println(" "); break; default: System.out.print("未知类型 "); break; } } System.out.print("\n"); } } }

2.解析后缀为.xls的EXCEL文件:

package com.shuai.hello; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ReadXls { public static void main(String[] args) throws IOException, IOException { File file = new File("C:/Users/dengta/Desktop/ok1.xls"); POIFSFileSystem poifsFileSystem = new POIFSFileSystem(new FileInputStream(file)); HSSFWorkbook hssfWorkbook = new HSSFWorkbook(poifsFileSystem); HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0); int rowstart = hssfSheet.getFirstRowNum(); int rowEnd = hssfSheet.getLastRowNum(); for(int i=rowstart;i<=rowEnd;i++) { HSSFRow row = hssfSheet.getRow(i); if(null == row) continue; int cellStart = row.getFirstCellNum(); int cellEnd = row.getLastCellNum(); for(int k=cellStart;k<=cellEnd;k++) { HSSFCell cell = row.getCell(k); if(null==cell) continue; //System.out.print("" + k + " "); //System.out.print("type:"+cell.getCellType()); switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: // 数字 System.out.print(cell.getNumericCellValue() + " "); break; case HSSFCell.CELL_TYPE_STRING: // 字符串 System.out.print(cell.getStringCellValue() + " "); break; case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean System.out.println(cell.getBooleanCellValue() + " "); break; case HSSFCell.CELL_TYPE_FORMULA: // 公式 System.out.print(cell.getCellFormula() + " "); break; case HSSFCell.CELL_TYPE_BLANK: // 空值 System.out.println(" "); break; case HSSFCell.CELL_TYPE_ERROR: // 故障 System.out.println(" "); break; default: System.out.print("未知类型 "); break; } } System.out.print("\n"); } } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章