From 4fafe2304ab5e3df321808f5120b29baf27c7eab Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期一, 25 八月 2025 16:09:52 +0800
Subject: [PATCH] 暂存0822
---
service-job/src/main/java/com/java110/job/export/ExportDataExecutor.java | 47 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 34 insertions(+), 13 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/export/ExportDataExecutor.java b/service-job/src/main/java/com/java110/job/export/ExportDataExecutor.java
index 2037e2b..a142515 100644
--- a/service-job/src/main/java/com/java110/job/export/ExportDataExecutor.java
+++ b/service-job/src/main/java/com/java110/job/export/ExportDataExecutor.java
@@ -10,10 +10,12 @@
import com.java110.utils.util.ExceptionUtil;
import com.java110.utils.util.StringUtil;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.slf4j.Logger;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -66,7 +68,7 @@
ByteArrayInputStream inputStream = null;
ByteArrayOutputStream os = null;
- SXSSFWorkbook workbook = null;
+ Object document = null;
String fileName = "";
if (exportDataDto == null) {
@@ -81,26 +83,46 @@
return;
}
updateUserDownloadFile(exportDataDto, UserDownloadFileDto.STATE_DOING,"", "寮�濮嬩笅杞�");
+
try {
- workbook = exportDataAdaptImpl.exportData(exportDataDto);
+ document = exportDataAdaptImpl.exportData(exportDataDto);
//淇濆瓨鏂囦欢璺緞鍒� 鏂囦欢涓嬭浇琛�
+// os = new ByteArrayOutputStream();
+// workbook.write(os);
+// inputStream = new ByteArrayInputStream(os.toByteArray());
+//
+// fileName = fileUploadTemplate.saveFile(inputStream, exportDataDto.getFileName());
+//
+//
+// updateUserDownloadFile(exportDataDto, UserDownloadFileDto.STATE_FINISH,fileName, "涓嬭浇瀹屾垚");
+ // 鏍规嵁鏂囨。绫诲瀷锛屽啓鍏ユ祦
os = new ByteArrayOutputStream();
- workbook.write(os);
+ if (document instanceof SXSSFWorkbook) {
+ ((SXSSFWorkbook) document).write(os);
+ } else if (document instanceof XWPFDocument) {
+ ((XWPFDocument) document).write(os);
+ }
inputStream = new ByteArrayInputStream(os.toByteArray());
+ fileName = fileUploadTemplate.saveFile(inputStream, exportDataDto.getFileName() + "." + exportDataAdaptImpl.getFileType());
- fileName = fileUploadTemplate.saveFile(inputStream, exportDataDto.getFileName());
-
-
- updateUserDownloadFile(exportDataDto, UserDownloadFileDto.STATE_FINISH,fileName, "涓嬭浇瀹屾垚");
-
+ updateUserDownloadFile(exportDataDto, UserDownloadFileDto.STATE_FINISH, fileName, "涓嬭浇瀹屾垚");
} catch (Throwable e) {
e.printStackTrace();
updateUserDownloadFile(exportDataDto, UserDownloadFileDto.STATE_FAIL, "","涓嬭浇澶辫触" + ExceptionUtil.getStackTrace(e));
} finally {
- try {
- workbook.close();
- } catch (Exception e) {
-
+ // 鍏抽棴鏂囨。瀵硅薄锛堥拡瀵逛笉鍚岀被鍨嬬殑鏂囨。杩涜璧勬簮閲婃斁锛�
+ if (document != null) {
+ try {
+ if (document instanceof SXSSFWorkbook) {
+ ((SXSSFWorkbook) document).close();
+ } else if (document instanceof XWPFDocument) {
+ ((XWPFDocument) document).close();
+ } else if (document instanceof ByteArrayInputStream) {
+ ((ByteArrayInputStream) document).close();
+ }
+ } catch (IOException e) {
+ log.error("鍏抽棴鏂囨。瀵硅薄澶辫触", e);
+ }
}
try {
inputStream.close();
@@ -112,7 +134,6 @@
} catch (Exception e) {
}
-
}
}
--
Gitblit v1.8.0