7

現時点では、office 2003 のテンプレート (ワード、エクセル、パワーポイント) からドキュメントを生成するために Office 相互運用機能を使用しています。これはかなり嫌われているようで ( office-interop-with-64bit-windows-in-asp-net を参照)、問題なく動作しますが、サポートされているソリューションに満足しています。

これを行うためのハッキーでない方法は何ですか? 要件は

  1. Office 2003 のみ。(office xml / office 2007 互換パックは不可)
  2. ASP.NET からサーバー側を実行する必要があります
  3. ユーザー提供の .dot、.xlt、および .pot テンプレートから Word、Excel、および Powerpoint ドキュメントを作成できる必要があります
  4. 名前、住所などの特定のポイントで特定のテキストを置き換えることにより、ドキュメントをさらにカスタマイズできる必要があります
  5. 無料または非常に低コスト。ある Web サイトで 4 人が汚いハックだと思ったという理由で、稼働中のシステムを交換するための発注書を作成することはできません ;)

もっと良い方法があるかどうかはわかりません。ある?

4

8 に答える 8

5

Office の自動化に関する別の質問への回答としてこれを投稿しましたが、この質問に対する適切な回答だと思います (特に、無料または低コストのソリューションを探している場合)。

Microsoft Excel、Word、および PowerPoint を Web サービスの相互運用を通じて使用して、Office ドキュメントを PDF 形式で印刷する際に、問題 (パフォーマンスの低下、プロセスのハング、プロセスのクラッシュなど) が後を絶ちませんでした。私も、非表示のダイアログ ボックスが原因であると思われる問題に直面しました (ファイルが破損している、読み取り専用が推奨されている、ファイルがパスワードで保護されているなど)。

Office を使用しないツールがあることは知っていますが、非常に高価です。私の解決策は、OpenOffice の自動化に切り替えることでした。OpenOffice ははるかに安定しているようで、ハングしているプロセスなどは残しました。

したがって、私は「Microsoft Office を自動化するな」と言っていると思いますが、自動化を完全に放棄することを提案しているわけではありません。ただ、Microsoft Office よりも OpenOffice の自動化の方がはるかに成功しています。

于 2009-09-08T13:44:05.693 に答える
1

Asposeには、Word、Excel、および Powerpoint ドキュメントを生成するための .NET および Java の多数のコンポーネントがあります。

于 2009-06-24T16:38:30.257 に答える
1

Asposeから入手可能な製品をご覧ください。Office をサーバーにインストールしなくても、PDF および Microsoft Office ドキュメントを作成および操作できるさまざまなファイル形式コンポーネントが多数あります。

ファイル形式コンポーネント (Aspose)

Software Artisansには、Word および Excel ドキュメントを読み書きできる同様のコンポーネントがいくつかあります。

Software Artisans Officeライター

于 2009-06-24T16:40:56.670 に答える
0

SQL Server を使用している場合は、SQL Server Reporting Servicesを見ることができます。

于 2009-06-24T16:34:06.403 に答える
0

SpreadsheetGear for .NETは、Excel ファイルの生成を処理できます。スプレッドシートに重点を置いているため、Word や PowerPoint の生成はありません。

ここでASP.NET のサンプルを参照し、ここで無料試用版をダウンロードできます。

免責事項: 私は SpreadsheetGear LLC を所有しています

于 2009-06-24T16:42:19.320 に答える
0

テンプレート ファイルを使用せずにこれを行った 1 つの方法は、ドキュメント テンプレートを作成し、それを Word、Excel、または PPT ドキュメントとして保存することですが、ドキュメントが人間が読めるテキストのままである形式で保存します。したがって、Word と Excel の場合は mht として保存します。

次に、テンプレートを文字列として読み込み、古き良き文字列操作関数 (プレースホルダー テキストを置換し、必要に応じて行を追加する) で処理し、文字列を .doc、.xls、または .ppt として保存します (どのプログラムが作成したか) ファイルであり、すべての書式設定がそのままの状態で、そのアプリケーションのドキュメントとしてすぐに開く必要があります。

1 つのヒントとして、テンプレートを Word に保存した後、テキスト エディターで確認する必要があります。Word は無差別に改行を追加するため、プレースホルダーが改行されたり、プレースホルダー内に他の書式が挿入されたりして、クリーンアップが必要になる場合があります。

于 2009-06-25T12:01:04.037 に答える
0

OWC (オフィス Web コンポーネント) を見てみましょう。これらは、あなたが探しているもののために設計されています!

テンプレートを使用してから時間が経っているため、テンプレートを使用できるかどうかはわかりませんが、その場でスプレッドシートを生成し、それらをバイナリで応答ストリームに書き込んでブラウザに表示していました。

それらがあなたの要件を完全に満たすかどうかはわかりませんが、少なくとも最初は検討する価値があります.

于 2009-06-25T12:13:34.323 に答える