今、私はsqlserverから単語にいくつかのデータを挿入する必要があります.ブックマークとオフィス相互運用APIを使用する方法を知っていますが、ワードプロセスを呼び出すのが遅く、ブックマーク定義とコードの間の結合です.ワードプロセスを開始せずにこれを行うことは可能ですか?そうでない場合、これを行うためのテンプレートエンジンはありますか?
4 に答える
Word 2003でこれが必要な場合は、WordMLを使用してみませんか?WordでのXMLドキュメントを使用した開発
私はあなたがやりたいことについて正確な答えを持っていません。ただし、サーバー上にドキュメント全体を構築することを検討することをお勧めします。
MS Excel 97以降では、単純なXMLまたはHTML(テーブル付き)ファイルの作成と、ファイルの呼び出しのみがサポートされています。something-uniqueid.xls
MSWordも同様のことをする可能性があります。基本的なHTMLファイルを取得し(<h1> <h2> <u>
開始にタグを使用)、名前をsomething.doc
「Wordがダブルクリックして開くかどうかを確認する」に変更します。
これが機能する場合は、ドキュメント全体をhtmlファイルとして提供できますが、それがsomething-unique-id#.docと呼ばれることをクライアントに伝えます。
これをWebサーバーから機能させるには、HTTPヘッダーContent-type: application/msword
とContent-disposition: Attachment; filename=something-unique-id.doc
mswordのMIMEタイプを確認してください。それが正しいかどうかはわかりません。
最後になりましたが、100%確実に最後のGET変数を設定したURLを使用してみて.doc
ください。これは、URLが次のようになることを意味します。/listing.asp?var1=abc&var2=def&output=.doc
これは、ブラウザを100%カバーするために9年前に必要でした。それがまだ必要かどうかをテストする必要があります。
Microsoft の COM ラップ API を使用するのではなく、カスタム ドキュメント ライターを検討することをお勧めします。OfficeWriter について良いことを聞いたことがあります。無料ではありませんが、速度は決して無料ではありません。
サーバー上に Word は必要ありません。
これが役立つかどうかはわかりませんが、SQL Serverからの表形式のデータである場合は、最初に(埋め込みクエリを介して)Excelにプルしてから、ExcelテーブルをWordドキュメント(OLE)に埋め込むことができる場合があります。
かなり不器用に聞こえますが、私はもっと悪いことをしました。:-)