From d0b19298e28a9b8b50c778704b77160f17e73950 Mon Sep 17 00:00:00 2001
From: jialh <1972868360@qq.com>
Date: 星期五, 17 四月 2026 18:20:38 +0800
Subject: [PATCH] 水电话费

---
 java110-utils/src/main/java/com/java110/utils/util/ImportExcelUtils.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/java110-utils/src/main/java/com/java110/utils/util/ImportExcelUtils.java b/java110-utils/src/main/java/com/java110/utils/util/ImportExcelUtils.java
index 25745ed..1438ae5 100755
--- a/java110-utils/src/main/java/com/java110/utils/util/ImportExcelUtils.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/ImportExcelUtils.java
@@ -60,9 +60,43 @@
      * @return
      */
     public static final Sheet getSheet(Workbook wb, String sheetName) {
-        return wb.getSheet(sheetName);
+        // 绌哄�兼牎楠岋紝閬垮厤绌烘寚閽�
+        if (wb == null || sheetName == null) {
+            return null;
+        }
+
+        // 鏍囧噯鍖栫洰鏍囧悕绉帮細鍘婚櫎涓ょ绌烘牸锛屼腑闂村涓┖鏍煎悎骞朵负涓�涓�
+        String normalizedTarget = normalizeSheetName(sheetName);
+
+        // 閬嶅巻鎵�鏈塻heet锛岄�愪釜鍖归厤鏍囧噯鍖栧悗鐨勫悕绉�
+        for (int i = 0; i < wb.getNumberOfSheets(); i++) {
+            Sheet sheet = wb.getSheetAt(i);
+            if (sheet == null) {
+                continue;
+            }
+            String originalSheetName = sheet.getSheetName();
+            // 鏍囧噯鍖栧綋鍓峴heet鍚嶇О
+            String normalizedSheet = normalizeSheetName(originalSheetName);
+
+            // 鍖归厤鎴愬姛鍒欒繑鍥炶sheet
+            if (normalizedTarget.equals(normalizedSheet)) {
+                return sheet;
+            }
+        }
+
+        // 鏃犲尮閰嶇殑sheet杩斿洖null锛堜繚鎸佸拰鍘熸柟娉曚竴鑷寸殑杩斿洖閫昏緫锛�
+        return null;
     }
 
+
+    private static String normalizeSheetName(String name) {
+        if (name == null) {
+            return "";
+        }
+        // 姝ラ1锛氬幓闄や袱绔┖鏍�
+        // 姝ラ2锛氬皢涓棿鐨勫涓繛缁┖鏍硷紙鍖呮嫭鍒惰〃绗︺�佹崲琛岀绛夌┖鐧斤級鏇挎崲涓哄崟涓┖鏍�
+        return name.trim().replaceAll("\\s+", " ");
+    }
     /**
      * 鑾峰彇Sheet椤甸潰(鎸夐〉鏍�)
      *
@@ -128,7 +162,7 @@
                         result = df.format(((HSSFCell) cell).getNumericCellValue());
                         break;
                     case HSSFCell.CELL_TYPE_FORMULA:
-                        result = ((HSSFCell) cell).getNumericCellValue();
+                        result = ((HSSFCell) cell).getBooleanCellValue();
                         break;
                     case HSSFCell.CELL_TYPE_BOOLEAN:
                         result = ((HSSFCell) cell).getBooleanCellValue();
@@ -157,8 +191,8 @@
                         result = df.format(((XSSFCell) cell).getNumericCellValue());
                         break;
                     case XSSFCell.CELL_TYPE_FORMULA:
-                        result = ((XSSFCell) cell).getNumericCellValue();
-                        break;
+                        result = "";
+                        throw new IllegalArgumentException("璇蜂笉瑕佸叕寮忚绠楋紝绋嬪簭娌℃硶璁$畻Excel鐨勫叕寮�");
                     case XSSFCell.CELL_TYPE_BOOLEAN:
                         result = ((XSSFCell) cell).getBooleanCellValue();
                         break;

--
Gitblit v1.8.0