Бюджет состоит из трёх листов, и финансовый отдел хочет изменить две ячейки на втором из них. Передача всей книги ИИ‑агенту с запросом «обновить Q3» заставит его перестроить все три листа. При локальном запуске сервера GroupDocs.Editor MCP такие модели, как Claude, Cursor или Copilot, извлекают только нужный лист в виде редактируемого HTML, вносят запрошенные изменения и сохраняют их обратно в копию оригинальной книги, так что остальные листы никогда не проходят через модель. Слайды работают аналогично:
В файле budget.xlsx, на листе 2 (Q3), установить Travel в 12 500 и переименовать Training в «Training (external)». Оставить остальные листы без изменений.
Пошаговая версия находится в документации: Как отредактировать один лист или слайд и вставить его обратно в оригинал.
Почему нельзя передавать агенту весь файл?
Потому что модель не может «удержать» книгу. Она может удерживать только текст. Каждый лист, который вы ей даёте, она может «добросовестно» переоформить: числа переоформляются, формула превращается в её значение, колонка, которую она не поняла, удаляется. Даже если ничего не пошло не так, из ответа это не увидеть. Решение — ограничить область: дать агенту ровно ту часть, которую нужно изменить, и держать остальное вне его досягаемости.
HTML — правильный формат для этой части. Таблицы, стили, шрифты и изображения сохраняются, модели умеют читать и писать его, и он легко сопоставляется с оригинальной структурой. Обычный текст потерял бы форматирование; сырые XML‑данные .xlsx представляют собой лабиринт, который не должен редактировать агент.
Круговой процесс
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:» подсказывает, какой вызов следует выполнить дальше. Агентам такие подсказки хорошо понятны. Для слайда предварительный просмотр может начинаться с текста заполнителя мастера («Click to edit Master title style»), поэтому агенту следует проверять сам HTML.
Слайды и единственное правило для презентаций
Та же пара работает с презентацией: extract_html с параметром "slide": 2, редактирование, save_from_html с тем же "slide": 2 и оригиналом в sourceFile. В нашем примере слайд 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 и переименовал Training на Q3» — такой ответ рецензент может проверить по файлу за секунды.
Честные ограничения
- В режиме оценки можно редактировать только первые два листа или слайда, а сервер отклонит третий с объяснением: «Evaluation mode edits only the first 2 visible worksheets of a workbook; worksheet 3 is beyond them.»
- Нес лицензированные сохранения являются черновиками: отредактированный лист получает строку‑баннер вверху, а книга — дополнительный лист «Evaluation Warning».
- Извлечённый HTML в нелицензированном запуске начинается с той же строки оценки (см. предварительный просмотр выше), поэтому агент должен редактировать ячейки, а не эту строку.
- Номера листов и слайдов считаются с 1; скрытые тоже учитываются. Скрытый слайд требует
showHidden: true; скрытый лист отклоняется независимо отshowHidden, поэтому его нужно сначала раскрыть в книге.
FAQ
Изменит ли редактирование одного листа остальные?
Нет. Отредактированный HTML заменяет только указанный лист в копии оригинала; всё остальное берётся из исходного файла.
Можно ли сделать то же самое со слайдами PowerPoint?
Да, используя параметр "slide" вместо "worksheet" и передавая оригинал в sourceFile, что требуется для вывода PowerPoint.
Куда сохраняется результат?
В новый файл в папке хранения, в нашем примере budget-q3-revised.xlsx, потому что мы указали outputName; оригинал остаётся нетронутым.
Углубиться
- Документация, канонический гайд: Как отредактировать один лист или слайд и вставить его обратно в оригинал
- Центр документации: GroupDocs.Editor MCP Server
- Страница продукта GroupDocs.Editor MCP — установка в один клик для VS Code и Cursor, конфиги для всех остальных клиентов
- Начните здесь: Почему ИИ‑агент не должен переписывать ваш документ, чтобы изменить три слова
- Смежные статьи: Переименовать сторону во 40 контрактах без изменения форматирования
- Смежные статьи: Заполнить формы Word из таблицы с помощью ИИ‑агента, локально
- Смежные статьи: Редактировать PDF с ИИ‑агентом? Сначала превратите его в Word, локально
- О модели безопасности и развертывании на месте: 3 архитектуры для AI‑обработки документов, и та, что держит файлы внутри вашей сети
- Вопросы: GroupDocs Editor forum
- Исходный код: GroupDocs.Editor.Mcp на GitHub · NuGet package