2010-12-06 4 views
0

DB(MS SQL server 2008)からデータを読み込み、Word文書(Office 2007)にプッシュする必要があります。それを行うための最良かつ迅速な方法は何ですか?私はここで問題について読んでいます:support.microsoft.com/kb/316384およびここに:msdn.microsoft.com/en-us/library/aa192487(office.11​​).aspx。私はfleXdocの使用についても理解しようとしましたが、ほとんどドキュメントがありません。私はサーバー上で使用する必要はありません、私はローカルで生成したい。私は最大5ページずつテンプレートから最大10の別々の文書を生成します。 (請求書など)。私が何か役に立つものを見つけることができないので、誰かがハウツープロジェクトやサンプルプロジェクトを指し示すことができます。ありがとうございました。データベース(SQL Server 2008)のデータを単語(単語2007 /テンプレート)に記入する最も良い方法は何ですか?

+0

私はそれを理解しました。私は、私のdocxドキュメントに必要な項目でクラス(ExportInvoice)を作成しました。 PrintInvoiceをクリックした後、UIの詳細をこのエクスポートクラスにマップしてから、このクラスをxml(XmlSerializer)にシリアル化します。最後に、私はXML構造(ExportInvoiceクラス)をマッピングする、xpathタグ​​でマークされたdocxドキュメントを作成しました。そして最後に、fleXdocを使って、エクスポートしたXMLデータと単語docxテンプレートをマージしました。それは完璧に働いています。 – vikox

答えて

0

CustomXMLデータバインディングを使用できますが、データの繰り返し行を処理できる必要があります。これを行うことができます(http://dev.plutext.org/svn/docx4j/trunk/docx4j/sample-docs/databinding/conventions.htmlを参照)。しかし、あなたのシナリオには過剰な可能性があります。

データテーブル用のHTMLドキュメントを作成し、それをあなたのWord文書にaltChunkとして含めるのはどうですか? http://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx

これらのアプローチはどちらも文書形式としてdocx(Open XML)を使用してWord 2007以降で動作します。

1

たとえば、CSVなどのテキストファイルを出力し、それらをWordのマージデータファイルに使用することをお勧めします。

0

ただし、このアプローチはOffice 2010では機能しない可能性があります。MS技術に関する訴訟の結果、WordからカスタムXMLマージ物をたくさん削除しなければならなかった。 Office 2007と2010年のアップデートでは、そのXMLサポートの一部が削除されています。

+0

はい、それは本当ですが、今のところ、私はOffice 2007を使用していると私はそれが今のトリックを行う必要があります:) – vikox

関連する問題