вставить данные из базы данных в слово в соответствии с форматом таблицы в слове - PullRequest
4 голосов
/ 22 сентября 2008

теперь мне нужно вставить некоторые данные из sqlserver в слово, я знаю, как использовать закладку, и API Office Interop делает это, но это медленно вызывает процесс обработки текста, и это связывает между определением закладки и кодом , возможно ли сделать это без запуска текстового процесса? если нет, есть ли какой-либо движок шаблонов для этого?

Ответы [ 4 ]

0 голосов
/ 22 сентября 2009

Если вам это нужно для Word 2003, почему бы просто не использовать WordML для этого? Разработка с использованием XML-документов в Word

0 голосов
/ 24 сентября 2008

Не уверен, поможет ли это кому-либо, но если вам нужны табличные данные из SQL Server, вам может понадобиться сначала извлечь их в Excel (с помощью встроенного запроса), а затем встроить таблицу Excel в документ Word (OLE). .

Звучит довольно грязно, но я сделал хуже. : -)

0 голосов
/ 24 сентября 2008

У меня нет точного ответа на то, что вы хотите сделать. Однако вы можете подумать о создании всего документа на вашем сервере.

MS Excel 97 и далее поддерживает создание простого файла XML или HTML (с таблицами) и просто вызов файла something-uniqueid.xls

Возможно, что MS Word также делает нечто подобное. Возьмите любой основной HTML-файл (для начала используйте теги <h1> <h2> <u>) и измените имя на something.doc Посмотрите, откроет ли его Word, дважды щелкнув по нему.

Если это работает, вы можете подать весь документ в виде html-файла, но сообщить клиенту, что он называется нечто-unique-id # .doc

Чтобы это работало с веб-сервера, вам нужно установить заголовки HTTP Content-type: application/msword и Content-disposition: Attachment; filename=something-unique-id.doc

Пожалуйста, проверьте тип MIME для msword .. Я не уверен, что это правильно.

Последнее, но не менее важное, чтобы быть на 100% уверенным, попробуйте использовать URL с самой последней переменной GET, установленной на .doc, это означает, что ваш URL должен выглядеть как /listing.asp?var1=abc&var2=def&output=.doc

Это было необходимо девять лет назад, чтобы обеспечить 100% охват браузеров. Вы должны проверить, было ли это все еще необходимо.

0 голосов
/ 22 сентября 2008

Возможно, вы захотите взглянуть на пользовательский редактор документов, а не использовать COM Wrapped API от Microsoft. Я слышал хорошие вещи о OfficeWriter. Это не бесплатно, но скорость никогда не бывает.

На сервере не требуется Word.

http://officewriter.softartisans.com/officewriter-59.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...