Как отредактировать файл docx в C # с помощью Microsoft.Office.Interop.Word - PullRequest
0 голосов
/ 25 апреля 2018

Мне нужно заменить метатеги пользователя # likethis # внутри файла docx на значение в базе данных.Хорошо было заменить простые строки, редактируя байтовый массив файла напрямую.Но это стало более сложным, когда мне нужно было загрузить таблицу данных.Поэтому мне пришлось попробовать использовать эту библиотеку, но ее документация довольно скудная.

По этой ссылке я нахожу, как заменить закладки на значения https://social.msdn.microsoft.com/Forums/Lync/en-US/ed7278b1-1fc7-44d5-9e87-4c3e41a110cf/how-to-modify-bookmarked-fields-in-word-docx-file-from-code?forum=worddev

Но есть способ отследить строку внутри текста и заменить ее для любого содержимого (например, другого текста илитаблица или изображение, похожее на логотип)?

1 Ответ

0 голосов
/ 25 апреля 2018

В статье Замечания по серверной автоматизации Office говорится следующее:

Microsoft настоятельно рекомендует разработчикам найти альтернативы автоматизации Office, если им необходимо разработать серверную версию.побочные решения.Из-за ограничений в дизайне Office изменений в конфигурации Office недостаточно для решения всех проблем.Microsoft настоятельно рекомендует использовать несколько альтернатив, которые не требуют установки Office на стороне сервера, и которые могут выполнять наиболее распространенные задачи более эффективно и быстрее, чем автоматизация.Прежде чем использовать Office в качестве серверного компонента в своем проекте, рассмотрите альтернативы.

Большинство задач автоматизации на стороне сервера включают создание или редактирование документов.Office 2007 поддерживает новые форматы файлов Open XML, которые позволяют разработчикам создавать, редактировать, читать и преобразовывать содержимое файлов на стороне сервера.Эти форматы файлов используют пространство имен System.IO.Package.IO в Microsoft .NET 3.x Framework для редактирования файлов Office без использования самих клиентских приложений Office.Это рекомендуемый и поддерживаемый метод обработки изменений файлов Office из службы.

В качестве обходного пути вы можете рассмотреть возможность использования Open XML SDK для открытых документов XML.Или просто любые сторонние оболочки, предназначенные для выполнения на стороне сервера (например, Aspose).

...