2009-05-31 8 views
2

郵送先のリストがある場合、ラベルを印刷するためにフォーマットされた既存のWord文書を開き、各アドレスを表の別のセルに挿入する必要があります。現在のソリューションは、Wordアプリケーションを開き、カーソルを移動してテキストを挿入します。しかし、Webアプリケーションから新しいバージョンのWordを開く際に発生するセキュリティ上の問題や問題については、別の方法を使用する必要があると判断しました。C#を使用してWord文書を生成

私はOffice Open XMLを使用しましたが、使用方法の正確な情報を提供する優れたリソースは見つかりませんでした。また、誰かが私がSQLレポートサービスを使用するよう提案しましたが、それらを使用する方法に関する情報を検索することは私をどこにも導きません。

私の問題にはどの方法が最適だと思いますか?

コードサンプルと良いチュートリアルへのリンクは非常に役立ちます。

答えて

4

すべての回答ありがとうございますが、私は実際にプラグインを支払うことを望まず、Wordの自動化を使用していませんでした。だから私は検索を続け、最終的にはいくつかの試行錯誤を通じていくつかの答えを見つけました。

Microsoftのサイトを徹底的に検索した後、Office Open XML SDKの新しい記事がいくつか見つかりました。私は新しいツールをダウンロードし、ちょうどそれぞれを通過し始めました。

次に、Document Reflectorを見つけました。Document Reflectorは、既存のWordドキュメント(.docx)に基づいてXMLコードを生成するクラスを作成します。私のLabel Template Documentとこのツールが生成したコードを使って、各アドレスにテーブルセルを追加するループを追加しました。実際には、Wordの自動化を使用するよりもかなり単純で速いことが分かりました。

Wordオートメーションを使用している場合は、Office Open XMLツールをチェックしてください。 Microsoftから無償でダウンロードできます。

Office Open XML SDK 2.0 Download

+0

OpenXml SDK 2.0はまだCTPにあり、ライセンス供与はテスト目的のみです(Office 14が出るまではプロップ) – foson

2

メールマージ(programming guide)を行うには、Aspose.comのWordsプラグインを使用します。

+0

お返事ありがとうございました。しかし、無料のソリューションを探していたので、ライセンスの問題について心配する必要はありません。 –

+1

Asposeは開発者またはサイトごとにライセンスされ、1種類のライセンスで任意の数の物理サイト(開発者またはサイトOEMライセンス)に配布できます。 – tvanfosson

+0

アプリケーションのこの側面は、大規模なプラグインの支払いを正当化するのに十分なほど重要ではありません。あなたは自由な選択肢を知っていますか? –

0

Vanstee、

あなたが本当にコードでこれを実行したい場合は、この記事をチェックアウトし、私はちょうど私たちがtvanfossonが言及したこと、製品のAsposeを持っているGoogleの

http://kellychronicles.spaces.live.com/blog/cns!A0D71E1614E8DBF8!1364.entry

+1

これは、実際にはオプションではないWordアプリケーションを開く必要があります。 –

+0

@Vansteeでは、コンソールアプリケーションから作業するようにコードを変更し、Visibilityをfalseに設定してWordを表示しないことができます。あなたは一例が欲しいですか? – Chris

+0

Wordを表示することは実際問題ではありません。 Webアプリケーションから新しいバージョンのWordにアクセスするには、上位レベルのアクセス許可を与える必要があります。私たちのサーバー管理者はこれを拒否し、それについて読んだ後、私は彼を責めません。とにかく、ありがとう。 –

1

で見つかりました。購入したエディションはSQL Reporting Servicesで動作するので、スケジューラで出力を作成することができます。それは本当に素晴らしい製品であり、最終文書で韓国語の文字をサポートする必要があったシステムで使用しました。それは素晴らしい作品で、1ドル未満のサポートを受けていました。悪くない。

このような製品を使用する利点は、データの管理を継続でき、ドキュメントを作成するために必要なスキルセットが、さまざまな開発者がその使用をサポートできるレベルにあることです。

2

dnrTV(www.dnrtv.com)で137と138の番組を見ることができます。これらのビデオでは、Beth MassiがOpenXMLでいくつかの編集とメールのマージを行う方法を示しています。彼女は、VBでOpen XML SDKとxmlリテラルを使用してこれを行います。第三者のコンポーネントは必要ありません。また、MS Officeをマシンにインストールする必要もありません。

このビデオは、VBの別のdllでXML操作を行うために開発された(そしてVBの経験はありませんでした)私に影響を与えました。私は私のC#アプリケーションからこのdllを呼び出します。

これは試してみる価値があります。

0

レポーティングサービスを使用していない場合は、単語docの情報をデータベーステーブルに移動し、そこから読み取って式から単語を取り出します。

+0

それは実際に素晴らしいアイデアです! –

関連する問題