From 8c12bbbf711732e52e322fe7d8b95f9f887513d5 Mon Sep 17 00:00:00 2001
From: fwq <582742538@qq.com>
Date: 星期五, 03 二月 2023 17:06:30 +0800
Subject: [PATCH] poi4.0+

---
 src/main/java/com/hx/util/ExcelFileUtil.java |  129 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 129 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/hx/util/ExcelFileUtil.java b/src/main/java/com/hx/util/ExcelFileUtil.java
new file mode 100644
index 0000000..2b28c71
--- /dev/null
+++ b/src/main/java/com/hx/util/ExcelFileUtil.java
@@ -0,0 +1,129 @@
+package com.hx.util;
+
+
+import com.hx.exception.TipsException;
+import jxl.CellType;
+import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.ss.usermodel.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Excel宸ュ叿绫伙紙鍏煎poi4.0+锛�
+ */
+public class ExcelFileUtil {
+
+    /**
+     * 璇诲彇 Excel鏂囦欢鍐呭
+     *
+     * @param file
+     * @param header 鏄惁鍖呮嫭琛ㄥご
+     * @return
+     * @throws Exception
+     */
+    public static List<List<String>> readExcelByeFileData(MultipartFile file, boolean header) throws Exception {
+        // 缁撴灉闆�
+        List<List<String>> list = new ArrayList<>();
+        if (file == null){
+            return list;
+        }
+        String fileName = file.getOriginalFilename();
+        if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
+            throw new TipsException("涓婁紶鏂囦欢鏍煎紡涓嶆纭�");
+        }
+
+        Workbook hssfworkbook = WorkbookFactory.create(file.getInputStream());
+
+        int num = hssfworkbook.getNumberOfSheets();
+        if (num == 0){
+            return list;
+        }
+        List<String> rowList;
+        for (int k = 0; k< num ; k++) {
+            Sheet sheet = hssfworkbook.getSheetAt(k);
+
+            for (int i = 0; i <= sheet.getLastRowNum(); i++) {
+                rowList = new ArrayList<>();
+                // 鑾峰彇绗琲琛岀殑鏁版嵁
+                Row row = sheet.getRow(i);
+                // getLastCellNum() 鑾峰彇杩欎竴琛屼腑鍗曞厓鏍肩殑鏁伴噺
+                for (int j = 0; j < row.getLastCellNum(); j++) {
+                    // 鑾峰彇绗琲琛岀j鍒楃殑鍗曞厓鏍兼暟鎹�
+                    rowList.add(row.getCell(j).toString());
+                }
+                list.add(rowList);
+            }
+        }
+        return list;
+    }
+
+
+    /**
+     * 璇诲彇 Excel鏂囦欢鍐呭
+     *
+     * @param file
+     * @param header 鏄惁鍖呮嫭琛ㄥご
+     * @return
+     * @throws Exception
+     */
+    public static List<List<String>> readExcelByeFileData(File file, boolean header) throws Exception {
+        // 缁撴灉闆�
+        List<List<String>> list = new ArrayList<>();
+        if (file == null){
+            return list;
+        }
+        String fileName = file.getName();
+        if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
+            throw new TipsException("涓婁紶鏂囦欢鏍煎紡涓嶆纭�");
+        }
+
+        Workbook hssfworkbook = WorkbookFactory.create(new FileInputStream(file));
+
+        int num = hssfworkbook.getNumberOfSheets();
+        if (num == 0){
+            return list;
+        }
+        List<String> rowList;
+        for (int k = 0; k< num ; k++) {
+            Sheet sheet = hssfworkbook.getSheetAt(k);
+
+            for (int i = 0; i <= sheet.getLastRowNum(); i++) {
+                rowList = new ArrayList<>();
+                // 鑾峰彇绗琲琛岀殑鏁版嵁
+                Row row = sheet.getRow(i);
+                // getLastCellNum() 鑾峰彇杩欎竴琛屼腑鍗曞厓鏍肩殑鏁伴噺
+                for (int j = 0; j < row.getLastCellNum(); j++) {
+                    // 鑾峰彇绗琲琛岀j鍒楃殑鍗曞厓鏍兼暟鎹�
+                    rowList.add(row.getCell(j).toString());
+                }
+                list.add(rowList);
+            }
+        }
+        return list;
+    }
+
+
+
+    private static String objToString(Object obj) {
+        if (obj == null) {
+            return "";
+        } else {
+            if (obj instanceof String) {
+                return (String) obj;
+            } else if (obj instanceof Date) {
+                return null;
+            } else {
+                return obj.toString();
+            }
+        }
+    }
+
+
+}

--
Gitblit v1.8.0