From db5a038b1c407b377f1c25ebff1db806ddfd1868 Mon Sep 17 00:00:00 2001
From: 18586361686 <1207669650@qq.com>
Date: 星期二, 13 五月 2025 00:06:45 +0800
Subject: [PATCH] chore: 更换easyExcel为fastExcel,增加excel分割器

---
 aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/controller/AiDocumentController.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/controller/AiDocumentController.java b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/controller/AiDocumentController.java
index 170aadd..31344db 100644
--- a/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/controller/AiDocumentController.java
+++ b/aiflowy-modules/aiflowy-module-ai/src/main/java/tech/aiflowy/ai/controller/AiDocumentController.java
@@ -12,6 +12,7 @@
 import tech.aiflowy.ai.service.*;
 import tech.aiflowy.ai.service.impl.AiDocumentServiceImpl;
 import tech.aiflowy.common.ai.DocumentParserFactory;
+import tech.aiflowy.common.ai.ExcelDocumentSplitter;
 import tech.aiflowy.common.domain.Result;
 import tech.aiflowy.common.tree.Tree;
 import tech.aiflowy.common.util.RequestUtil;
@@ -208,7 +209,7 @@
         if (!userWillSave){
             List<AiDocumentChunk> previewList = new ArrayList<>();
             // 璁剧疆鍒嗗壊鍣� todo 鏈潵鍙互閫氳繃鍙傛暟鏉ユ寚瀹氬垎鍓插櫒锛屼笉鍚岀殑鏂囨。浣跨敤涓嶅悓鐨勫垎鍓插櫒鏁堟灉鏇村ソ
-            DocumentSplitter documentSplitter = getDocumentSplitter(splitterName, chunkSize, overlapSize, regex);
+            DocumentSplitter documentSplitter = getDocumentSplitter(splitterName, chunkSize, overlapSize, regex, 2);
             Document document = Document.of(aiDocument.getContent());
             List<Document> documents = documentSplitter.split(document);
             int sort = 1;
@@ -342,7 +343,7 @@
         }
 
         // 璁剧疆鍒嗗壊鍣� todo 鏈潵鍙互閫氳繃鍙傛暟鏉ユ寚瀹氬垎鍓插櫒锛屼笉鍚岀殑鏂囨。浣跨敤涓嶅悓鐨勫垎鍓插櫒鏁堟灉鏇村ソ
-        documentStore.setDocumentSplitter(getDocumentSplitter(splitterName, chunkSize, overlapSize, regex));
+        documentStore.setDocumentSplitter(getDocumentSplitter(splitterName, chunkSize, overlapSize, regex, 2));
 
         AiDocument finalEntity = entity;
         AtomicInteger sort  = new AtomicInteger(1);
@@ -389,7 +390,7 @@
         }
     }
 
-    public DocumentSplitter getDocumentSplitter (String splitterName, int chunkSize, int overlapSize, String regex){
+    public DocumentSplitter getDocumentSplitter (String splitterName, int chunkSize, int overlapSize, String regex, int excelRows){
 
         if (StringUtil.noText(splitterName)) {
             return null;
@@ -405,6 +406,8 @@
                 } else {
                     return new SimpleTokenizeSplitter(chunkSize, overlapSize);
                 }
+            case "ExcelDocumentSplitter":
+                return new ExcelDocumentSplitter(excelRows);
             default:
                 return null;
         }

--
Gitblit v1.8.0