這個預算檔案有三個工作表,財務部門希望在第二個工作表上更改兩個儲存格。將整個活頁簿交給 AI 代理人去「更新 Q3」會導致它重新生成全部三個工作表。使用本機執行的 GroupDocs.Editor MCP 伺服器,Claude、Cursor 或 Copilot 只會提取該工作表為可編輯的 HTML,進行您要求的更改,然後將其保存回原始活頁簿的副本中,其他工作表永不會通過模型。投影片的處理方式相同:
在 budget.xlsx 中,於工作表 2(Q3)將 Travel 設為 12,500,並將 Training 重新命名為「Training (external)」。其餘工作表保持不變。
逐步說明請參考文件:如何編輯單一工作表或投影片並將其拼回原始檔案.
為什麼不把整個檔案交給代理人?
因為模型無法容納整個活頁簿。它只能處理文字。您提供的每張工作表都可能被模型「好心」地重新敘述:數字重新格式化、公式被轉為其值、模型不理解的欄位被刪除。即使沒有出錯,您也無法從回覆中辨識。解決之道是限定範圍:只給代理人需要變更的那一部分,將其餘內容排除在外。
HTML 是該部分的正確形態。表格、樣式、字型與圖片都能在其中保留,模型能很好地讀寫,且它能映射回原始結構。純文字會失去格式;原始 .xlsx XML 如同迷宮,絕不該讓代理人編輯。
往返流程
budget.xlsx (3 worksheets: Summary, Q3, Q4)
|-- extract_html {"file":{...},"worksheet":2} --> budget_worksheet2.html
| agent edits the HTML: Travel 9000 -> 12500,
| "Training" -> "Training (external)"
'-- save_from_html {"htmlFile":{"filePath":"budget_worksheet2.html"},
"format":"xlsx",
"sourceFile":{"filePath":"budget.xlsx"},
"worksheet":2}
--> budget-q3-revised.xlsx : worksheet 2 replaced, 1 and 3 untouched
evaluation mode: worksheets/slides 1-2 can be edited; the server refuses 3+
伺服器回傳的內容
從 GroupDocs.Editor.Mcp 26.10.0 針對合成預算檔案擷取的結果:
-> extract_html {"file":{"filePath":"budget.xlsx"},"worksheet":2}
<- Extracted worksheet 2 of 3 of 'budget.xlsx' as editable HTML
Saved to: …/budget_worksheet2.html
Next: edit the saved .html and call save_from_html to write it back
as DOCX, XLSX, PPTX, PDF or another format.
Preview (plain text): ... Cost centre Planned (EUR) Owner Hosting
57600 IT Support 14400 IT Travel 9000 Sales Training 6000 HR
-> save_from_html {"htmlFile":{"filePath":"budget_worksheet2.html"},
"format":"xlsx","sourceFile":{"filePath":"budget.xlsx"},
"worksheet":2,"outputName":"budget-q3-revised.xlsx"}
<- Saved 'budget_worksheet2.html' into a copy of 'budget.xlsx',
replacing worksheet 2 of 3 (XLSX)
Saved to: …/budget-q3-revised.xlsx
開啟結果即可確認範圍:在 Q3,Travel 為 12500,該列顯示「Training (external)」;Hosting 與 Support 保持不變;Summary 與 Q4 仍如原本。原始 budget.xlsx 並未被修改。
這些工具是以編號而非名稱來定位工作表與投影片;get_document_info 會回傳總數,這也是提示中寫「worksheet 2 (Q3)」的原因。提取回應會附帶純文字預覽,讓代理人在編輯前確認已取得正確的工作表,並提供「Next:」行告知接下來要呼叫哪個 API。代理人通常會遵循這些提示。對於投影片,預覽可能會以母片的佔位文字(「Click to edit Master title style」)開頭,代理人應自行檢查 HTML 本身。
投影片,以及演示文稿的唯一規則
相同的兩個 API 也適用於投影片:使用 "slide": 2 的 extract_html,編輯後再以 "slide": 2 且將原始檔案作為 sourceFile 呼叫 save_from_html。在我們的測試中,三張投影片的審查簡報的第 2 張投影片被導出為 HTML,將「12 percent」改為「14 percent」後,再回寫為 review-revised.pptx,第 1 與第 3 張投影片保持完整。
對於 PowerPoint,sourceFile 不是可選的。單純的 HTML 不包含投影片母片,伺服器會直接回報錯誤而不是產生損壞的簡報:
-> save_from_html {"htmlFile":{"filePath":"review_slide2.html"},
"format":"pptx"}
<- Save from HTML failed for 'review_slide2.html' (-> pptx): 'pptx' output
cannot be created from HTML alone; pass the original document as
'sourceFile'.
錯誤訊息指出缺少的參數,代理人會自行修正呼叫。
當往返流程勝過搜尋取代
replace_text 是針對單一字詞或名稱的較短路徑。往返流程則適用於其他情況:一次變更多個儲存格、同時重新措辭標籤與數字、在投影片上重構表格,或是 replace_text 無法偵測的片語(因為被分割在兩段格式中)。它也是代理人在決定要變更什麼之前先讀取部分內容的方式。
先讀後寫
往返流程的前半段本身就很有用。若代理人被問到「Q3 的旅行預算是多少,誰負責?」可以先提取 Q3 工作表的 HTML,直接從中回答而不必觸碰檔案;而即將進行編輯的代理人則應先執行此步驟:讀取目標部分、說明將要做的變更,最後再寫回。將這個順序寫入專案指示,使其成為預設流程:
To change a worksheet or slide, use the groupdocs-editor MCP server:
extract_html for that one part, edit the HTML, save_from_html with the
original as sourceFile and the same worksheet/slide number. Never rebuild
the whole workbook or deck. Say which cells or text you changed.
最後一行最為關鍵。「我將 Travel 從 9000 改為 12500,並在 Q3 將 Training 重新命名」這樣的回覆,審核者可以在數秒內對照檔案驗證。
誠實的限制
- 評估模式僅允許編輯前兩個工作表或投影片,伺服器會拒絕第三個,並給出原因:「Evaluation mode edits only the first 2 visible worksheets of a workbook; worksheet 3 is beyond them.」
- 未授權的儲存會產生草稿:編輯過的工作表會在最上方加入橫幅列,活頁簿會額外增加一個「Evaluation Warning」工作表。
- 未授權執行時提取的 HTML 會以相同的評估行開頭(如上方預覽所示),代理人應編輯儲存格內容,而非那一行文字。
- 工作表與投影片的編號皆從 1 開始,隱藏的也會被計算。隱藏的投影片需要
showHidden: true;隱藏的工作表則無論showHidden為何都會被拒絕,必須先在活頁簿中取消隱藏。
常見問題
編輯單一工作表會影響其他工作表嗎?
不會。編輯後的 HTML 只會取代您指定的工作表,且是基於原始檔案的副本,其他工作表會從來源檔案直接保留。
可以用這個方法處理 PowerPoint 投影片嗎?
可以,將 "worksheet" 改為 "slide",並將原始檔案作為 sourceFile 傳入,PowerPoint 輸出即需要此參數。
結果檔案會存放在哪裡?
會存於 storage 資料夾中的新檔案,例如此例的 budget-q3-revised.xlsx(因為我們傳入了 outputName),原始檔案保持不變。
深入了解
- 文件與標準操作方式:如何編輯單一工作表或投影片並將其拼回原始檔案
- 文件中心:GroupDocs.Editor MCP Server
- GroupDocs.Editor MCP 產品頁面 — 為 VS Code 與 Cursor 提供一鍵安裝,其他客戶端亦有相應設定
- 從這裡開始:為何 AI 代理人不應該為了改三個字而重寫整份文件
- 相關文章:在 40 份合約中重新命名當事人而不影響格式
- 相關文章:使用 AI 代理人從試算表填寫 Word 表單,於本機執行
- 相關文章:使用 AI 代理人編輯 PDF?先在本機轉成 Word 再處理
- 本地部署與安全模型:三種 AI 文件處理架構,哪一種能將檔案保留在內部網路
- 問題討論:GroupDocs Editor 論壇
- 原始碼與套件:GroupDocs.Editor.Mcp 在 GitHub 上的專案 · NuGet 套件