Просмотр исходного кода

Excel导入数据临时文件无法删除问题

RuoYi лет назад: 2
Родитель
Сommit
a5354083b9

+ 16 - 2
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java

@@ -55,6 +55,7 @@ import com.ruoyi.common.core.annotation.Excel;
55
 import com.ruoyi.common.core.annotation.Excel.ColumnType;
55
 import com.ruoyi.common.core.annotation.Excel.ColumnType;
56
 import com.ruoyi.common.core.annotation.Excel.Type;
56
 import com.ruoyi.common.core.annotation.Excel.Type;
57
 import com.ruoyi.common.core.annotation.Excels;
57
 import com.ruoyi.common.core.annotation.Excels;
58
+import com.ruoyi.common.core.exception.UtilException;
58
 import com.ruoyi.common.core.text.Convert;
59
 import com.ruoyi.common.core.text.Convert;
59
 import com.ruoyi.common.core.utils.DateUtils;
60
 import com.ruoyi.common.core.utils.DateUtils;
60
 import com.ruoyi.common.core.utils.StringUtils;
61
 import com.ruoyi.common.core.utils.StringUtils;
@@ -262,7 +263,21 @@ public class ExcelUtil<T>
262
      */
263
      */
263
     public List<T> importExcel(InputStream is) throws Exception
264
     public List<T> importExcel(InputStream is) throws Exception
264
     {
265
     {
265
-        return importExcel(is, 0);
266
+        List<T> list = null;
267
+        try
268
+        {
269
+            list = importExcel(is, 0);
270
+        }
271
+        catch (Exception e)
272
+        {
273
+            log.error("导入Excel异常{}", e.getMessage());
274
+            throw new UtilException(e.getMessage());
275
+        }
276
+        finally
277
+        {
278
+            IOUtils.closeQuietly(is);
279
+        }
280
+        return list;
266
     }
281
     }
267
 
282
 
268
     /**
283
     /**
@@ -299,7 +314,6 @@ public class ExcelUtil<T>
299
 
314
 
300
         // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1
315
         // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1
301
         int rows = sheet.getLastRowNum();
316
         int rows = sheet.getLastRowNum();
302
-
303
         if (rows > 0)
317
         if (rows > 0)
304
         {
318
         {
305
             // 定义一个map用于存放excel列的序号和field.
319
             // 定义一个map用于存放excel列的序号和field.