質問

ユーザーに送信して使用する Excel レポートを .NET で生成するための小さなプロジェクトを設計する必要があります。

Excel レポートにはピボットテーブルが含まれます。

私にはそれらの経験はあまりありませんが、次の 3 つの実装方法が考えられます。

  1. クエリを設定し、データを入力し、切断して送信します。この方法では、ユーザーは値をグループ化して少し遊ぶことはできますが、データを更新することはできません。
  2. 小規模な Access データベースを生成し、Excel ファイルとともに送信し、接続します。
  3. データを Excel (おそらく他のシート) にコピーし、そこにあるデータに接続します。これにより、Excel ファイルが非常に大きくなると思います。

パフォーマンスと使いやすさの点で最良の選択肢は何でしょうか?私の知らない別の代替手段はありますか?

役に立ちましたか?

解決

小規模なプロジェクトであるため、アプリケーションからのデータ ストレージとして Excel を利用できます。開発とテストが簡単になり、保守も簡単になります。

他のヒント

@エスポ

いいえ、ユーザーは元のデータソースにアクセスできません。そのため、レポートに必要なデータ サブセットを含む小規模なアクセス データベースを作成することを検討しています。

データを「オフライン」に保つ必要がありますか?

大量のデータがある場合に私が通常行うのは、ネットワーク上にすでに存在する SQL サーバーを使用することです。オフィスで使用する場合、ユーザーはいずれにしてもオンラインで使用します。

このレポート用に SQL サーバー上でアクセスが制限された専用ユーザーを作成することを忘れずに、「sa」パスワードを Excel ファイルに保存しないでください。

「ユーザーに送信される」というのがオフィス外のユーザーを意味する場合、これは良い解決策ではありません。その場合は、Excel シートにデータを含めて、どのくらい大きくなるかを確認してみます。ファイルが大きすぎない場合、これが最もユーザーフレンドリーな解決策になります。

また、ネットでこんなものを見つけました。 Microsoft Office Excel 2003 で Web クエリを使用するさまざまな方法. 。これにより、データを公開 Web サイト (必要に応じて秘密の URL を使用) に保存し、Excel にデータを取得させることができます。こうすることで、ユーザーの受信トレイを大きなファイルで埋める必要がなくなり、後で Excel ファイルを再送信せずにデータを更新することもできます。

オプション 3 が最も単純に思えますが、データの保存に関しては Excel が Access よりも効率的であるかのように思えました。2 つのファイルの問題は、別の場所にある場合でもファイル間のリンクを機能させることです。

@ポールモリス

多分...問題は、1 つのシートに含めることができるデータ量に制限があることです。誰かがパフォーマンスの点で良い考えではないと言わない限り、私はオプション 2 を考えています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top