Một mẫu Word có các hộp văn bản, một danh sách thả xuống bộ phận và một ô kiểm mã đạo đức, cùng với một bảng tính chứa ba mươi nhân viên mới: đó là một buổi sáng đầy sao chép và dán, hoặc chỉ một lời nhắc. Với máy chủ GroupDocs.Editor MCP chạy cục bộ, Claude, Cursor hoặc Copilot đầu tiên hỏi mẫu về các trường mà nó có, sau đó điền một bản sao cho mỗi hàng và lưu mỗi bản dưới tên của người đó. Bố cục của mẫu không bị thay đổi, và bất kỳ giá trị nào không có trường tương ứng sẽ được báo cáo thay vì bị bỏ qua một cách im lặng:
Đọc new-employee-form.docx, sau đó điền một bản sao cho mỗi hàng của new-hires.csv và đặt tên mỗi tệp theo nhân viên.
Phiên bản từng bước được mô tả trong tài liệu: How to fill Word form fields from data with an AI agent.
Ai đọc bảng tính?
Agent làm việc này, và chúng ta nên nói thẳng. Máy chủ Editor làm việc trên mẫu Word; nó không đọc CSV hay workbook của bạn. Agent đọc các hàng bằng công cụ tệp của riêng nó, hoặc bạn dán chúng vào, và sau đó thực hiện một lời gọi fill_form_fields cho mỗi hàng với một outputName cho mỗi người. Sự phân chia này là một tính năng: dữ liệu không bao giờ cần ở định dạng mà máy chủ hiểu, và agent có thể làm sạch dữ liệu trên đường (tách họ và tên, chuẩn hoá ngày tháng) trước khi đưa vào mẫu.
Hỏi mẫu trước
Tên trường trong mẫu Word hiếm khi giống như nhãn trên trang. Nhãn có thể là “Full name:” trong khi trường lại được gọi là FullName, Text1 hoặc Name_Employee. Đoán là cách các mẫu trở nên nửa trống. get_form_fields trả về tên thực, kiểu và giá trị hiện tại. Được trích xuất từ GroupDocs.Editor.Mcp 26.10.0 đối với một mẫu onboarding tổng hợp (đầu ra được rút gọn):
-> get_form_fields {"file":{"filePath":"new-employee-form.docx"}}
<- { "count": 6, "fields": [
{ "name": "FullName", "type": "Text", "value": "" },
{ "name": "Email", "type": "Text", "value": "" },
{ "name": "StartDate", "type": "Text", "value": "" },
{ "name": "Department", "type": "DropDown",
"value": { "options": [ "Engineering", "Finance", "Sales",
"Operations" ], "selected": "Engineering" } },
{ "name": "Agree", "type": "CheckBox", "value": false },
{ "name": "Newsletter", "type": "CheckBox", "value": false } ] }
Danh sách thả xuống đi kèm với các tùy chọn của nó, vì vậy agent có thể ánh xạ “finance” trong bảng tính sang mục nhập chính xác “Finance” thay vì tự tạo một bộ phận thứ sáu.
Sau đó điền một hàng
-> fill_form_fields {"file":{"filePath":"new-employee-form.docx"},
"values":{"FullName":"Amara Okafor",
"Email":"amara.okafor@northwind.example",
"StartDate":"2026-12-01","Department":"Finance",
"Agree":"true","Phone":"+31 10 555 0100"}}
<- Updated 5 field(s) in 'new-employee-form.docx': FullName, Email,
StartDate, Department, Agree.
Not found: Phone. Call get_form_fields for the exact names.
Saved to: …/new-employee-form_edited.docx
Bảng tính có một cột điện thoại mà mẫu không có trường tương ứng. Máy chủ đã điền năm trường tồn tại và ghi lại trường không tồn tại. Đọc lại bản đã điền bằng get_form_fields cho thấy các giá trị đã được đặt, bao gồm "selected": "Finance" và "Agree": true, trong khi Newsletter vẫn chưa được chọn vì hàng dữ liệu không chỉ định ngược lại.
Toàn bộ lô
new-hires.csv (agent reads it) new-employee-form.docx
Amara Okafor, Finance, ... ---+
Tomas Varga, Sales, ... ---+ get_form_fields (once)
... | -> FullName, Email, StartDate,
| Department, Agree, ...
v
fill_form_fields {"values":{...row...},
"outputName":"form-amara-okafor.docx"} x one per row
-> "Updated 5 field(s) ... Not found: Phone"
-> form-amara-okafor.docx, form-tomas-varga.docx, ...
Ba chỉ thị làm cho lô này đáng tin cậy: gọi get_form_fields một lần và ánh xạ các cột sang tên trường trước lần điền đầu tiên; cung cấp cho mỗi hàng một outputName riêng, nếu không các bản sao sẽ chồng lên nhau thành new-employee-form_edited.docx, new-employee-form_edited (1).docx… mà không có tên ai; và gom các dòng “Not found” lại thành một báo cáo cuối cùng thay vì dừng lại khi gặp lỗi đầu tiên.
Lời nhắc hoạt động trên hàng đầu tiên
Hầu hết các lỗi lô xảy ra ở hàng thứ nhất và sau đó lặp lại ba mươi lần. Hãy yêu cầu chạy thử nghiệm khô trước:
Đọc các trường của new-employee-form.docx và tiêu đề của new-hires.csv. Hiển thị cho tôi cột nào đi vào trường nào, và cột nào không có trường tương ứng. Sau đó chỉ điền hàng đầu tiên và dừng lại.
Agent trả lời bằng một bảng ánh xạ nhỏ, ví dụ Name -> FullName, Dept -> Department, Phone -> (no field), và cung cấp một mẫu đã điền mà bạn có thể mở. Nếu chính tả bộ phận hoặc định dạng ngày sai, bạn sẽ thấy ngay, sửa lại hướng dẫn, rồi yêu cầu điền phần còn lại. Bước kiểm tra này mất khoảng một phút và tạo ra sự khác biệt giữa ba mươi mẫu đúng và ba mươi mẫu cần kiểm tra thủ công.
Nó cũng giải quyết các câu hỏi mà bảng tính không thể trả lời tự thân. Một ô “Agree” trống có nghĩa là không được chọn, hay nên bỏ qua hàng? “2026-12-01” có nên đưa vào trường ngày như đã nhập, hay dưới dạng “1 December 2026”? Agent sẽ làm theo bất kỳ chỉ dẫn nào bạn đưa ra, nhưng bạn phải nói rõ.
Những gì công cụ mẫu còn hỗ trợ
Các trường văn bản, số và ngày được điền bằng chuỗi; ô kiểm nhận "true" hoặc "false"; danh sách thả xuống nhận một trong các tùy chọn của chúng. format lưu bản đã điền dưới dạng DOC, RTF hoặc ODT thay vì DOCX; một mẫu đã điền luôn là tài liệu Word, vì vậy PDF cho nhân viên mới sẽ là một bước chuyển đổi riêng sau này. Mẫu được bảo vệ bằng mật khẩu được mở bằng password và vẫn giữ trạng thái bảo vệ. Bản đã điền được ghi bởi engine trường mẫu thay vì qua HTML, do đó tiêu đề, chân trang và số trang vẫn giữ nguyên như ban đầu. Các công cụ này đọc các định dạng DOCX, DOC, DOCM, DOT, DOTX, RTF và ODT.
Giới hạn thực tế
- Chỉ hỗ trợ mẫu Word và các trường mẫu kế thừa: các trường văn bản, ô kiểm và danh sách thả xuống mà Word chèn từ Developer → Legacy Tools. Các điều khiển nội dung (content controls) không được liệt kê hoặc điền. Mẫu PDF (AcroForms) không nằm trong phạm vi của máy chủ này.
- Máy chủ không đọc bảng tính; agent cung cấp các giá trị, vì vậy hãy kiểm tra ánh xạ cột trên hàng đầu tiên trước khi cho phép nó chạy qua toàn bộ.
- Một lời gọi chỉ điền một mẫu. Một lô ba mươi mẫu tương đương ba mươi lời gọi.
- Chế độ đánh giá thêm một dòng banner ở đầu mỗi bản đã điền, vì vậy đầu ra chưa được cấp phép chỉ là bản nháp, không phải tài liệu gửi cho nhân viên mới.
Câu hỏi thường gặp
Agent biết tên các trường như thế nào?
Nó hỏi: get_form_fields trả về tên, kiểu và giá trị hiện tại của mỗi trường, cùng với các tùy chọn của mọi danh sách thả xuống.
Giá trị không có trường tương ứng trong mẫu sẽ như thế nào?
Nó sẽ bị bỏ qua và được liệt kê trong phản hồi (“Not found: Phone”), để agent có thể báo cáo.
Mẫu gốc của tôi có bị thay đổi không?
Không. Mỗi lần điền tạo một tệp mới; mẫu gốc vẫn nguyên cho hàng tiếp theo.
Đi sâu hơn
- Tài liệu, hướng dẫn chuẩn: How to fill Word form fields from data with an AI agent
- Trung tâm tài liệu: GroupDocs.Editor MCP Server
- GroupDocs.Editor MCP product page — cài đặt một cú nhấp cho VS Code và Cursor, cấu hình cho mọi client khác
- Bắt đầu tại đây: Why an AI agent should not rewrite your document to change three words
- Liên quan: Rename a party across 40 contracts without touching the formatting
- Liên quan: Edit one worksheet, keep the workbook: surgical edits with an HTML round-trip
- Liên quan: Edit a PDF with an AI agent? Turn it into Word first, locally
- Kiến trúc on‑premise và mô hình bảo mật: 3 architectures for AI document processing, and the one that keeps files inside your network
- Câu hỏi: GroupDocs Editor forum
- Nguồn: GroupDocs.Editor.Mcp on GitHub · NuGet package