18

Webサーバー上でWord文書を動的に生成することを計画しています。C#でこれを行う良い方法はありますか?これを行うためにWordをスクリプト化できることは知っていますが、別のオプションを選択したいと思います。

4

8 に答える 8

19

私は過去に、生成された Word ドキュメントを本当に欲しがっていた会社で働いていましたが、最終的には ".doc" 拡張子を持つ RTF ドキュメントに完全に満足していました。Word はそれらを問​​題なく認識して開くことができます。

RTF ドキュメントはiText.net (無料の .net ライブラリ) で生成されました。API は非常に使いやすく、パフォーマンスが非常に高く、マシン上で単語を必要としません。また、PDF、HTML、およびごくわずかな労力で将来のテキスト ドキュメント。4 年経った今でも、私が作成したソリューションは有効です。これは、iText.net に有利な証拠です。

iTextの公式ページでは、現時点ではiText Sharpが .Net の最適な選択肢であると示唆されているようです。

于 2008-11-29T00:49:24.387 に答える
9

rtfファイルを生成することをお勧めします。この単語は開く方法を知っています。

于 2008-11-29T00:15:39.040 に答える
8

Office 2007ドキュメントを生成する場合は、Open XMLFileFormatsを確認してください。これらは単純なzip形式のXMLファイルです。次のリンクを確認してください。

編集:このプロジェクトを確認してください。良い出発点として役立ちます。

非常にシンプルでカスタマイズ可能なようです。次のコードスニペットをご覧ください。

Paragraph p = new Paragraph();
p.Runs.Add(new Run("Text can have multiple format styles, they can be "));
p.Runs.Add(new Run("bold and italic", 
        TextFormats.Format.Bold | TextFormats.Format.Italic));
doc.Paragraphs.Add(p);
于 2008-11-29T00:21:38.357 に答える
6

Word は、拡張子が .doc の HTML を問題なく開きます。内部スタイル シートを含める場合は、完全にフォーマットすることができます。このテーマに関する以前の投稿がありました:

C# で Word 文書にエクスポート

于 2008-11-29T00:25:02.843 に答える
6

古い .DOC ファイル (Word 2007 より前) を作成することは、Word 自体なしではほぼ不可能です。形式が複雑すぎます。Microsoft はフォーマットの説明を公開しましたが、成長したプログラマーを泣かせるには十分です。それにも(歴史的な)理由がありますが、それで状況が改善されるわけではありません。

新しい .DOCX の方が簡単ですが、まだかなり手間がかかります。ただし、対象とする Word のバージョンによっては、他のオプションもいくつかあります。

1 つには、古典的な .RTF があります。この形式はまだかなり複雑ですが、十分に文書化されており、多くのアプリケーションやプラットフォームで強力にサポートされています。また、テンプレートファイルに文字列置換を使用して、作業を簡単にすることもできます (非バイナリです)。

次に、「古い」Word XML ファイルがあります。Word XP以降は機能していたと思います。.DOCX の前身のようなものです。私はそれらを使用しましたが、悪くはありません。そして、ドキュメントはかなりOKです。

最後に、私が選択する簡単な方法は、単純な HTML を作成することです。Word は、バージョン 2000 から HTML ファイルを問題なく読み込むことができます。最も簡単な方法は、HTML ファイルの拡張子を .DOC に変更するだけです。Word での見栄えを良くするために、いくつかの単語固有のタグとコメントを追加することもできます。Word の [名前を付けて保存...HTML] オプションを使用して、それらが何であるかを確認してください。

于 2008-11-29T00:35:54.163 に答える
1

それが仕事をすることについてのサードパーティのライブラリがあります。

簡単なグーグルをすることは、例えば、これを思いついた。

私は何も試したことがないので、具体的なアドバイスはできません。恐れ入ります。

乗り方を教えてください...

于 2008-11-29T00:17:00.753 に答える
1

Office 2007 では、 Microsoft はMicrosoft Open Office XML Format (.docx) と呼ばれる新しいファイル形式を導入しました。この形式は、古いバージョンの Microsoft Word と互換性がありません。これは XML であるため、Word がインストールされていなくても、作成または読み取ることができます。

于 2008-11-29T00:34:02.200 に答える
0

カスタム テンプレートに基づいてドキュメントを生成するコンポーネントを次に示します。ドキュメントは sharepoint リストから生成されます ... そのため、データはその場でリスト項目からドキュメントに取り込まれます: http://store.sharemuch.com/products/generate-word-documents-from-sharepoint-list

それが役立つことを願って、

Yaroslav Pentsarskyy ブログ: www.sharemuch.com

于 2009-02-02T03:53:58.423 に答える