POI 3.7 读取xls和xlsx
来源:互联网 发布:新天龙八部挂机软件 编辑:程序博客网 时间:2024/05/22 04:29
/** * 读取xlsx文档列 * */ private String getXSSFCellValue(XSSFCell cell)throws Exception { String cellvalue = ""; if (cell!=null) { switch (cell.getCellType()) { case XSSFCell.CELL_TYPE_BOOLEAN: cellvalue = String.valueOf(cell.getBooleanCellValue()); break; case XSSFCell.CELL_TYPE_NUMERIC: cellvalue = String.valueOf(cell.getNumericCellValue()); break; case XSSFCell.CELL_TYPE_STRING: cellvalue = cell.getStringCellValue(); break; case XSSFCell.CELL_TYPE_BLANK: break; case XSSFCell.CELL_TYPE_ERROR: break; case XSSFCell.CELL_TYPE_FORMULA: break; }} return cellvalue; } /** * 读取xls文档列 * */ private String getHSSFCellValue(HSSFCell cell)throws Exception { String cellvalue = ""; if(cell!=null){ switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_BOOLEAN: cellvalue = String.valueOf(cell.getBooleanCellValue()); break; case HSSFCell.CELL_TYPE_NUMERIC: cellvalue = String.valueOf(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_STRING: cellvalue = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_BLANK: break; case HSSFCell.CELL_TYPE_ERROR: break; case HSSFCell.CELL_TYPE_FORMULA: break; } } return cellvalue; } /** * xlsx文档 * @return 错误提示类型 0-正常 1-存在不能为空的列 2-格式不对 3-空文件 * */private int readXlsx(List<XXDto> list,InputStream inputstream) throws Exception {int errType = 0;XSSFWorkbook hssfworkbook = new XSSFWorkbook(inputstream);XSSFSheet hssfsheet = hssfworkbook.getSheetAt(0);// 第一个工作表if (hssfsheet != null) {int totalrows = hssfsheet.getPhysicalNumberOfRows();// --获取sheet总行数if (totalrows > 1)// 除了标题外,必须有数据{for (int i = 1; i < totalrows; i++) {XSSFRow hssfrow = hssfsheet.getRow(i);}}else{//--空excel,或者没有数据行的excelerrType = 3;}}return errType;}/** * xls文档 * @return 错误提示类型 0-正常 1-存在不能为空的列 2-格式不对 3-空文件 * */private int readXlsKpiYear(List<XXDto> list,InputStream inputstream) throws Exception {int errType = 0;HSSFWorkbook hssfworkbook = new HSSFWorkbook(inputstream);HSSFSheet hssfsheet = hssfworkbook.getSheetAt(0);// 第一个工作表if (hssfsheet != null) {int totalrows = hssfsheet.getPhysicalNumberOfRows();// --获取sheet总行数if (totalrows > 1)// 除了标题外,必须有数据{for (int i = 1; i < totalrows; i++) {HSSFRow hssfrow = hssfsheet.getRow(i);}}else{//--空excel,或者没有数据行的excelerrType = 3;}}return errType;}