вставить данные из базы данных в слово в соответствии с форматом таблицы в слове

StackOverflow https://stackoverflow.com/questions/113845

  •  02-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Для этого не требуется Word на сервере.

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

Другие советы

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

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

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

Если это сработает, вы можете представить весь документ в виде html-файла, но сообщите клиенту, что он называется Something-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% охват браузеров.Вам придется проверить, требуется ли это по-прежнему.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top