вставить данные из базы данных в слово в соответствии с форматом таблицы в слове
Вопрос
теперь мне нужно вставить некоторые данные из sqlserver в слово, я знаю, как использовать закладку и API взаимодействия с офисом, но это медленно вызывает текстовый процесс, и это связь между определением закладки и кодом, не так ли Можно ли сделать это без запуска текстового процесса? Если нет, есть ли какой-либо шаблонизатор для этого?
Решение
Возможно, вы захотите воспользоваться собственным средством записи документов, а не использовать COM Wrapped API от Microsoft.Я слышал хорошие отзывы об OfficeWriter.Это не бесплатно, но скорость никогда не бывает бесплатной.
Для этого не требуется Word на сервере.
Другие советы
У меня нет точного ответа на вопрос, что вы хотите сделать.Однако вы можете подумать о создании всего документа на своем сервере.
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).
Звучит довольно неуклюже, но я сделал хуже.:-)