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;}