Procházet zdrojové kódy

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

RuoYi před 2 roky
rodič
revize
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 55
 import com.ruoyi.common.core.annotation.Excel.ColumnType;
56 56
 import com.ruoyi.common.core.annotation.Excel.Type;
57 57
 import com.ruoyi.common.core.annotation.Excels;
58
+import com.ruoyi.common.core.exception.UtilException;
58 59
 import com.ruoyi.common.core.text.Convert;
59 60
 import com.ruoyi.common.core.utils.DateUtils;
60 61
 import com.ruoyi.common.core.utils.StringUtils;
@@ -262,7 +263,21 @@ public class ExcelUtil<T>
262 263
      */
263 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 315
         // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1
301 316
         int rows = sheet.getLastRowNum();
302
-
303 317
         if (rows > 0)
304 318
         {
305 319
             // 定义一个map用于存放excel列的序号和field.