A Word‑форма з текстовими полями, випадаючим списком підрозділу та прапорцем «Кодекс поведінки», а також електронна таблиця з тридцятьма новими співробітниками: це ранок копіювання‑вставки або один запит. За локально запущеним сервером GroupDocs.Editor MCP, Claude, Cursor або Copilot спочатку запитують у форми, які поля вона має, потім заповнюють одну копію на рядок і зберігають кожну під іменем людини. Макет форми залишається незмінним, а будь‑яке значення без відповідного поля повідомляється замість того, щоб безшумно відкинутися:

Прочитати new-employee-form.docx, потім заповнити одну копію на рядок new-hires.csv і назвати кожен файл іменем співробітника.

Крок‑за‑кроком версія є в документації: Як заповнити поля Word‑форми даними за допомогою AI‑агента.

Хто читає електронну таблицю?

Агент читає, і це варто сказати відкрито. Сервер Editor працює з Word‑формою; він не читає ваш CSV чи книгу. Агент читає рядки своїми інструментами файлів, або ви їх вставляєте, і потім робить один виклик fill_form_fields на рядок з outputName для кожної особи. Така розподіл — це особливість: дані ніколи не повинні бути у форматі, який розуміє сервер, і агент може їх очистити на ходу (розділити повне ім’я, нормалізувати дату) перед тим, як вони потраплять у форму.

Спочатку запитайте форму

Назви полів у Word‑формах рідко збігаються з підписом на сторінці. Підпис читає «Full name:», тоді як поле може називатися FullName, Text1 або Name_Employee. Вгадування — це причина, чому форми повертаються наполовину порожніми. get_form_fields повертає справжні назви, типи та поточні значення. Захоплено з GroupDocs.Editor.Mcp 26.10.0 на синтетичній формі onboarding (скорочений вивід):

-> 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 } ] }

Випадаючий список містить свої варіанти, тому агент може зіставити «finance» у таблиці з точним записом «Finance», замість того, щоб вигадувати шостий підрозділ.

Потім заповнити один рядок

-> 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

У таблиці був стовпець телефону, якого у формі немає. Сервер заповнив п’ять існуючих полів і назвав те, чого немає. Читання заповненої копії за допомогою get_form_fields показує значення на місці, включно з "selected": "Finance" та "Agree": true, а Newsletter залишився незмінним, бо рядок не вказував інакше.

Уся партія

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, ...

Три інструкції роблять пакет надійним: викликати get_form_fields один раз і зіставити стовпці з назвами полів перед першим заповненням; надати кожному рядку власне outputName, інакше копії накопичуються як new-employee-form_edited.docx, new-employee-form_edited (1).docx тощо, без імені; і зібрати рядки «Not found» в один звіт наприкінці, а не зупинятись на першому.

Запит, який працює на першому рядку

Більшість помилок у пакетах трапляються на першому рядку і потім повторюються тридцять разів. Спочатку запитайте сухий запуск:

Прочитати поля new-employee-form.docx і заголовок new-hires.csv. Показати, який стовпець куди потрапляє, і які стовпці не мають поля. Потім заповнити лише перший рядок і зупинитися.

Агент відповідає невеликою таблицею зіставлення, Name -> FullName, Dept -> Department, Phone -> (no field), і однією заповненою формою, яку можна відкрити. Якщо правопис підрозділу або формат дати неправильний, ви бачите це один раз, виправляєте інструкцію і потім запитуєте решту. Цей крок огляду коштує одну хвилину і є різницею між тридцятьма правильними формами і тридцятьма формами, які треба перевіряти вручну.

Він також вирішує питання, на які таблиця сама не може відповісти. Чи має порожня клітинка «Agree» означати знятий прапорець, чи слід пропускати рядок? Чи вводити «2026-12-01» у поле дати так, як написано, чи як «1 December 2026»? Агент виконає будь‑яку вашу інструкцію, але його треба про це повідомити.

Що ще вміють інструменти форми

Текстові, числові та датовані поля заповнюються рядками; прапорці приймають "true" або "false"; випадаючі списки — один зі своїх варіантів. format зберігає заповнену копію як DOC, RTF або ODT замість DOCX; заповнена форма завжди є Word‑документом, тому PDF для нового співробітника — це окрема конверсія після цього. Форма, захищена паролем, відкривається з параметром password і залишається захищеною. Заповнену копію створює движок полів форми, а не через HTML, тому колонтитули, номери сторінок залишаються як були. Інструменти читають форми у форматах DOCX, DOC, DOCM, DOT, DOTX, RTF та ODT.

Чесні обмеження

  • Тільки Word‑форми та лише застарілі поля форми: текстові, прапорці та випадаючі поля, які Word вставляє через Developer → Legacy Tools. Контент‑контролі не перелічуються і не заповнюються. PDF‑форми (AcroForms) не входять у сферу цього сервера.
  • Сервер не читає електронну таблицю; агент постачає значення, тому перевірте його зіставлення стовпців у першому рядку, перш ніж дозволити обробку всіх.
  • Один виклик заповнює одну форму. Партія з тридцяти — це тридцять викликів.
  • У режимі оцінки додається банерний рядок у верхній частині кожної заповненої копії, тому неліцензований результат є чернеткою, а не тим, що слід надсилати новим співробітникам.

FAQ

Як агент дізнається назви полів?
Він запитує: get_form_fields повертає назву кожного поля, його тип і поточне значення, а також варіанти кожного випадаючого списку.

Що трапляється з значенням, для якого у формі немає поля?
Воно пропускається і зазначається у відповіді («Not found: Phone»), щоб агент міг повідомити про це.

Чи змінюється моя оригінальна форма?
Ні. Кожне заповнення створює новий файл; шаблон залишається порожнім для наступного рядка.

Дізнайтеся більше