fwq
2023-11-07 f8bd1c406ef31027967c0cfa8c2f5f097ae93ec9
src/main/java/com/hx/util/ExcelUtil.java
@@ -3,6 +3,7 @@
import com.hx.exception.TipsException;
import com.monitorjbl.xlsx.StreamingReader;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
@@ -884,7 +885,10 @@
               .bufferSize(10240)
               .open(new FileInputStream(file));
         listData =readhandle(book);
      }catch (Exception e){
      }catch (OLE2NotOfficeXmlFileException ex){
         ex.printStackTrace();
         throw new RuntimeException("excel版本不为2007及以上");
      } catch (Exception e){
         e.printStackTrace();
         throw new RuntimeException(e.getMessage());
      }
@@ -912,7 +916,10 @@
               .open(new BufferedInputStream(file.getInputStream()));
         listData =readhandle(book);
      }catch (Exception e){
      }catch (OLE2NotOfficeXmlFileException ex){
         ex.printStackTrace();
         throw new RuntimeException("excel版本不为2007及以上");
      } catch (Exception e){
         e.printStackTrace();
         throw new RuntimeException(e.getMessage());
      }
@@ -937,6 +944,9 @@
               .open(file);
         listData =readhandle(book);
      }catch (OLE2NotOfficeXmlFileException ex){
         ex.printStackTrace();
         throw new RuntimeException("excel版本不为2007及以上");
      }catch (Exception e){
         e.printStackTrace();
         throw new RuntimeException(e.getMessage());
@@ -976,33 +986,34 @@
               cell = row.getCell(j);
               if (cell == null) {
                  arrayString.add("");
               }
               if (cell.getCellType() == CellType.NUMERIC) {
                  isData = true;
                  format = cell.getCellStyle().getDataFormat();
                  if (format == 14 || format == 31 || format == 57 || format == 58) {
                     //日期(中文时间格式的)
                     d = cell.getDateCellValue();
                     formater = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                     arrayString.add(formater.format(d));
                  } else if (HSSFDateUtil.isCellDateFormatted(cell)) {
                     d = cell.getDateCellValue();
                     formater = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                     arrayString.add(formater.format(d));
                  } else {
                     if (CellType.STRING == cell.getCellType()) {
                        arrayString.add(cell.getStringCellValue());
                     } else if (CellType.FORMULA == cell.getCellType()) {
                        arrayString.add(cell.getCellFormula());
               }else{
                  if (cell.getCellType() == CellType.NUMERIC) {
                     isData = true;
                     format = cell.getCellStyle().getDataFormat();
                     if (format == 14 || format == 31 || format == 57 || format == 58) {
                        //日期(中文时间格式的)
                        d = cell.getDateCellValue();
                        formater = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                        arrayString.add(formater.format(d));
                     } else if (HSSFDateUtil.isCellDateFormatted(cell)) {
                        d = cell.getDateCellValue();
                        formater = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                        arrayString.add(formater.format(d));
                     } else {
                        arrayString.add(cell.getStringCellValue().trim());
                        if (CellType.STRING == cell.getCellType()) {
                           arrayString.add(cell.getStringCellValue());
                        } else if (CellType.FORMULA == cell.getCellType()) {
                           arrayString.add(cell.getCellFormula());
                        } else {
                           arrayString.add(cell.getStringCellValue().trim());
                        }
                     }
                  } else if (cell.getCellType() == CellType.BLANK) {
                     arrayString.add("");
                  } else { // 如果EXCEL表格中的数据类型为字符串型
                     isData = true;
                     arrayString.add(cell.getStringCellValue().trim());
                  }
               } else if (cell.getCellType() == CellType.BLANK) {
                  arrayString.add("");
               } else { // 如果EXCEL表格中的数据类型为字符串型
                  isData = true;
                  arrayString.add(cell.getStringCellValue().trim());
               }
            }
            if (isData) {