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