1. ホーム
  2. asp.net

[解決済み] ASP.NETでExcelファイルを作成する【終了しました

2022-12-28 18:02:19

質問

私は、ASP.NET アプリ (VB.NET codebehind) に、ユーザーがデータを Excel ファイルとして返せるようにするためのセクションを追加しようとしていますが、これはデータベースのデータに基づいて生成するものです。 これを行うにはいくつかの方法がありますが、それぞれに欠点があります。 どのように あなたは はどのようにデータを返しますか? なるべくきれいでわかりやすいものを探しています。

どのように解決するのですか?

CSV

長所

  • シンプル

短所

  • 他のロケールや異なる Excel 設定 (リスト セパレータなど) では動作しない場合があります。
  • 書式設定や計算式などを適用することができない

HTML

長所

  • まだかなりシンプル
  • 簡単な書式設定と計算式をサポート

短所

  • ファイル名を xls とする必要があり、Excel からは非ネイティブの Excel ファイルを開くように警告されることがあります。
  • 1 つのワークブックに 1 つのワークシート

OpenXML (Office 2007 .XLSX)。

長所

  • ネイティブの Excel 形式
  • Excel の全機能をサポート
  • 以下のように を必要としません。 Excelのインストールされたコピー
  • ピボットテーブルを生成することができます。
  • オープンソースプロジェクトを使用して生成することができます EPPlus

短所

  • Excel 2007 以外の限られた互換性 (現在では問題ないはず)
  • サードパーティのコンポーネントを使用しない限り、複雑です。

SpreadSheetML (オープン フォーマットの XML)

長所

  • Excel のネイティブ フォーマットと比較してシンプル
  • ほとんどの Excel 機能をサポート: フォーマット、スタイル、数式、ワークブックごとの複数シート。
  • Excel を使用するためにインストールする必要はありません。
  • サードパーティのライブラリは不要 - xml を書き出すだけでよい
  • ドキュメントは、Excel XP/2003/2007 で開くことができます。

短所

  • 良いドキュメントの欠如
  • Excel の古いバージョン (2000 年以前) ではサポートされていません。
  • 書き込み専用で、一度開いて Excel から変更を加えると、ネイティブの Excel に変換される点。

XLS (サード パーティ製コンポーネントで生成)

長所

  • すべての書式設定、数式などを含むネイティブの Excel ファイルを生成します。

短所。

  • コストがかかる
  • 依存関係を追加する

COM インターロップ

長所

  • Microsoft のネイティブ ライブラリを使用
  • ネイティブドキュメントの読み込みサポート

短所

  • 非常に遅い
  • 依存性/バージョンマッチングの問題
  • ウェブ使用時の読み込み時の並行性/データ整合性の問題
  • 非常に遅い
  • Web 用のスケーリングの問題 (並行処理とは異なる):サーバー上に重い Excel アプリのインスタンスを多数作成する必要がある。
  • Windows が必要
  • 遅いという話はしましたか?