poi解析excle文件(xls,xlsx)
2018-03-28 11:12 不痒不痛 阅读(1100) 评论(0) 编辑 收藏 举报解析xls文件
/** * 解析xls文件 * * @param path 文件路径 * @throws Exception */ public static void showXls(String path) throws Exception { HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(path))); HSSFSheet sheet = null; for (int i = 0; i < workbook.getNumberOfSheets(); i++) {// 获取每个Sheet表 sheet = workbook.getSheetAt(i); for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum,获取最后一行的行标 HSSFRow row = sheet.getRow(j); if (row != null) { for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个 if (row.getCell(k) != null) { // getCell 获取单元格数据 System.out.print(row.getCell(k) + "\t"); } else { System.out.print("\t"); } } } System.out.println(""); // 读完一行后换行 } System.out.println("读取sheet表:" + workbook.getSheetName(i) + " 完成"); } }
解析xlsx文件
/** * 解析xlsx文件 * * @param path 文件路径 * @throws Exception */ public static void showXlsx(String path) throws Exception { File excelFile = new File(path); XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(excelFile)); XSSFSheet sheet = wb.getSheetAt(0); for (int i = 0; i < wb.getNumberOfSheets(); i++) {// 获取每个Sheet表 sheet = wb.getSheetAt(i); for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum,获取最后一行的行标 XSSFRow row = sheet.getRow(j); if (row != null) { for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个 if (row.getCell(k) != null) { // getCell 获取单元格数据 System.out.print(row.getCell(k) + "\t"); } else { System.out.print("\t"); } } } System.out.println(""); // 读完一行后换行 } System.out.println("读取sheet表:" + wb.getSheetName(i) + " 完成"); } }
解析xls和xlsx文件
/** * 解析xls和xlsx文件 * * @param path 文件路径 * @throws Exception */ public static void showExcel(String path) throws Exception { String fileType = path.substring(path.lastIndexOf(".") + 1, path.length()); Workbook wb = null; if ("xls".equals(fileType)) { wb = new HSSFWorkbook(new FileInputStream(new File(path))); } else { wb = new XSSFWorkbook(new FileInputStream(path)); } Sheet sheet = null; for (int i = 0; i < wb.getNumberOfSheets(); i++) {// 获取每个Sheet表 sheet = wb.getSheetAt(i); for (int j = 0; j < sheet.getLastRowNum() + 1; j++) {// getLastRowNum,获取最后一行的行标 Row row = sheet.getRow(j); if (row != null) { for (int k = 0; k < row.getLastCellNum(); k++) {// getLastCellNum,是获取最后一个不为空的列是第几个 if (row.getCell(k) != null) { // getCell 获取单元格数据 System.out.print(row.getCell(k) + "\t"); } else { System.out.print("\t"); } } } System.out.println(""); // 读完一行后换行 } System.out.println("读取sheet表:" + wb.getSheetName(i) + " 完成"); } }
main方法
public static void main(String[] args) throws Exception { showExcel("E:\\upload\\测试.xls"); }