C# .NET Excel API ライブラリは、サーバーに Microsoft コンポーネントをインストールしなくても、C# アプリケーションで Excel 機能を提供する、独立して機能するツールです。必要なスプレッドシートを作成するために必要なすべての重要な Excel 操作をプログラムで実行できます。
利用できる API ライブラリは多数ありますが、どれを選択すればよいかご存知ですか?
この記事では、次の機能に基づいて、トップの C# .NET Excel API ライブラリを評価します。
MESCIUS の Document Solutions for Excel, .NET Edition (DsExcel) は、作成、読み取り、変更、変換など、XLSX ファイルに必要なすべてのファイル管理操作をサポートします。
DsExcel は、ワークシートにさまざまな種類のグラフを統合することをサポートし、グラフのタイトル、凡例、データ シリーズなどのカスタマイズ機能を提供します。テンプレート レイアウトにグラフを追加することもできます。
セル、列、行に対して、アクセス、切り取り、コピー、非表示、挿入、削除、結合など、さまざまな操作を実行できます。
ワークブックの操作には、作成、開く、保存、保護、切り取り、コピー、ビューの変更、計算エンジンの有効化または無効化が含まれます。
DsExcel を使用すると、ユーザーはシンプルな言語構文を使用して .NET でカスタム Excel テンプレートを定義し、グラフ、スパークライン、表を含む .xlsx レポートの生成を自動化できます。データを XLSX テンプレートに直接バインドすることで、請求書や売上レポートなどのレポートの作成が効率化され、Windows、Linux、macOS をサポートし、高いパフォーマンスと安定性が保証されます。
データ、テキスト、数値、色、アイコンなどの条件を使用してセルをフィルターします。また、セル値、アイコン、データ バー、3 色ルールに基づく条件付き書式設定ルールを使用して、特定のデータ値を強調表示することもできます。
数式を作成して使用し、複雑な計算を行ってセルの値を生成することができます。また、DsExcel は 450 を超える Excel 関数もサポートしています。組み込み関数を使用することも、カスタマイズされた関数を作成して数式を生成することもできます。
DsExcel は、セル、ワークシート、またはテーブル列との一方向のデータ バインディングと、複数のソースを使用したデータ収集をサポートしています。インポートをより高速かつ効率的に行うには、ImportData() 関数を使用して、オブジェクト モデル全体ではなく Excel ファイルからデータのみを取得します。Excel シートをプログラムで .xlsx、.csv、PDF、HTML、JSON などのさまざまな形式にエクスポートすることもできます。
データの編集やブックの構造およびウィンドウの変更を防止するパスワードを使用して、ブックの保護をカスタマイズできます。また、ブックのパスワード保護を完全に削除して、無制限に編集できるようにすることもできます。
DsExcel は、メモリ使用量が少なく、パフォーマンス係数が高い API ライブラリです。ライブラリの効率を高める軽量アーキテクチャを備えています。Excel と連携して、スプレッドシートの生成と管理にかかる労力、メモリ使用量、時間を最小限に抑えることができます。
DsExcel は、クロスプラットフォームのJavaScript データ ビューアーである Document Solutions Data Viewer を提供しており、これは DsExcel と簡単に統合できます。これにより、ユーザーは Web アプリケーションで XLSX、SJS、SSJSON、および CSV ドキュメントを開いて表示できるようになります。
DsExcel は、.NET 上のすべてのスプレッドシート プロジェクト向けの効率的で使いやすい API です。大規模な場合でも優れたパフォーマンスで Excel ドキュメントをプログラム的に作成および操作するために必要なすべての機能を備えています。テンプレートを使用して、Excel レポートを簡単に生成できます。また、DsExcel を使用すると、データ バインディング、グラフ、条件付き書式、数式、関数などの必須機能を Excel ドキュメントに簡単に組み込むことができます。
Aspose.Cells は、XLSX 形式だけでなく、XLS、XLSB、XLT、XLTX、XLTM、XLSM、XML、OTS 形式のファイル操作もサポートしています。
カスタマイズとスタイル設定に重点を置いた、さまざまな種類のグラフの作成と操作を完全にサポートしています。グラフを画像としてレンダリングしたり、動的に設定されたデータを使用してグラフを自動的に更新したりすることもできます。
API は、セルと範囲の作成、管理、書式設定に必要な一般的な Excel 操作をすべてサポートします。
ワークシートを作成、コピー、移動できます。その他の機能には、空のワークシートの検出、ページ区切りの管理、ペインの固定などがあります。
既存の Excel テンプレートを開くか、新しい Excel ブックを作成し、必要に応じて変更して .XLTX 拡張子で保存することで、独自のテンプレートを作成できます。また、独自のデザイナー スプレッドシート (テンプレートに似た、事前に書式が適用されたファイル) を作成してレポートを作成することもできます。
オートフィルターを使用すると、データをより深く理解できる豊富な Excel ワークシートを作成できます。また、実行時に条件付き書式を作成するか、デザイナー スプレッドシートを使用して、条件付き書式を適用することもできます。
Aspose.Cells は、配列数式、組み込み関数、アドイン関数をサポートしています。Microsoft Excel の標準および高度な数式と関数のほぼすべてを使用できます。
データ バインディング タスクには、Aspose.Cells.GridDesktop またはAspose.Cells.GridWeb のワークシート デザイナーを使用する必要があります。Aspose.Cells は、セルへのデータのインポートとセルからのデータのエクスポートもサポートしています。Excel ワークブックと DataSet、DataTable、および DataGrid の間でデータをインポートおよびエクスポートできます。
Excel ファイルのパスワード保護されたワークブック構造のロックを解除し、ワークシートを読み取って編集し、パスワードを使用してワークブックを再保存することができます。変更するためのパスワードオプションもあります。
Aspose.Cells は一般的にパフォーマンスが高く、高速に動作します。ただし、大きなデータ セットを含むワークブックの読み取りや書き込み、または大量の RAM を占有する操作を行うと、パフォーマンスの問題が発生する可能性があります。
Aspose.Cells を使用すると、Excel ファイルまたはレポートを生成し、そのファイルを Response オブジェクトに保存してクライアント ブラウザーに送信できます。また、Aspose.Cells.GridJs を .NET プロジェクトに統合して、アプリケーション内で直接 Excel スプレッドシートを開いて編集することもできます。
Aspose.Cells は、XLSX ファイルを含むほぼすべての MS Excel 形式のスプレッドシート タスクを高速化できる、.NET 用の非常に高密度で高度な Excel API C# ライブラリです。より高度なライブラリもありますが、Aspose.Cells を使用すると、スプレッドシートの作成、編集、管理のほぼすべての側面で、幅広い標準および高度な Excel 操作をプログラムで実行できます。
全体的に、Aspose.Cells C# ライブラリは Excel の代替として堅実な選択肢です。ただし、ライブラリを使用して大規模なデータ セットを処理できる一方で、期待どおりの高いパフォーマンスを得るには、メモリ使用量を制限するために微調整が必要になる場合があることに注意してください。
最新のアップデートである SpreadsheetGear 2023 では、ライブラリの形式の互換性が拡張され、Excel 2021 および最新バージョンの Excel for Microsoft 365 の XLSX、XLSM、XLS、CSV、TXT ファイルが含まれるようになりました。
チャート作成のサポートには、さまざまなチャート タイプ、チャートのレンダリング、チャート シートや埋め込み画像付きのチャートを作成する機能が含まれます。
値、数式、数値書式、フォント、罫線、背景色、セルのコメント、ハイパーリンクなどを使用して、ワークシートのセルにアクセスし、変更できます。範囲操作には、コピー、並べ替え、自動フィルター、セルの保護、グループ化、アウトラインが含まれます。また、長距離セルの結合も改善されています。
SpreadsheetGear を使用すると、ワークシートを作成、移動、コピーできます。また、さまざまな表示オプションを取得したり、数式から値を評価したり、シートの色を変更したり、さまざまなワークシート保護を適用したりすることもできます。
機能を完全に制御してレポート テンプレートを作成し、必要なあらゆる種類の Excel レポートを生成できます。
オートフィルター条件にはカスタム条件を含めることができ、セルの書式設定、削除、塗りつぶしなどのいくつかのコマンドで使用できます。条件付き書式のスタイルは、カスタム数式、単純な比較演算子、および高度なルールに基づいています。
SpreadsheetGear は、現在入手可能な最速の Excel 互換計算エンジンを搭載していると主張しています (多くの場合、Excel よりも大幅に高速と言われています)。449 個の Excel 互換関数、マルチスレッド再計算、配列数式のサポートなどを備えています。
Excel ブックと DataSet、DataTable、DataGrid 間でデータを移動できます。SpreadsheetGear はデータ バインディングをサポートしていません。
SpreadsheetGear は、パスワードで保護された XLS、XLSX、XLSM ワークブックの読み取りと書き込みをサポートしています。パスワード保護が有効になっている場合でも、ワークシートの特定の側面を有効にすることができます。
UI 保護は引き続き適用されますが、ワークシートが保護されている場合でもプログラムによる変更を加えることができます。
SpreadsheetGear は、処理時間を短縮し、高性能なアプリケーション開発を可能にする高速 API です。リソースを効率的に使用し、スプレッドシートの出力パフォーマンスを向上させることができます。
埋め込むことができるクライアント側 API は提供されていません。ただし、ASP.NET を使用してブラウザーで Excel ファイルを表示できます。
SpreadsheetGear は、Excel 2021 までの Excel バージョンと、Microsoft 365 向け Excel の最新バージョンの多くの操作をサポートしています。簡単に操作できるクリーンなユーザー インターフェイスと、Excel 操作をエミュレートできる API ライブラリを備えており、スプレッドシート生成プロセスを完全に制御できます。
SpreadsheetGear の最も注目すべき点は、提供される機能ではなく、提供されない機能かもしれません。たとえば、SpreadsheetGear は動的配列、Excel テーブル、または LAMBDA 関数をサポートしていません。非常に大きなデータセットを処理したり、複雑な計算を実行したりするための追加オプションを探している場合、これは問題になる可能性があります。
互換性のある Microsoft Excel バージョンには、XLSX ファイル、Excel 2019 までのその他のファイル、および Microsoft 365 のオンライン形式が含まれます。
XisIO では 80 種類以上の Excel グラフがサポートされています。グラフはワークブック内に埋め込むことも、グラフ ワークシートとして作成することもできます。 カスタマイズオプションには、プロット領域、凡例、軸などがあります。
セル操作には、検索と置換、並べ替え、フィルタリング、ハイパーリンクが含まれます。行と列を自動調整したり、セルの色、フォント スタイル、境界線の設定などを適用したりできます。
ワークシートの操作には、移動、コピー、ウィンドウの固定、列の表示または非表示、ページ設定オプションの指定(すべての行を 1 ページに収める、印刷前にページを合わせるなど)が含まれます。
Essential XlsIO を使用すると、テンプレート マーカーを使用してデータを Excel テンプレートにエクスポートできます。
データ管理機能には、カスタム、詳細、アイコン、カラー、動的、組み合わせ、カスタム フィルターなどの自動フィルター タイプを使用した自動フィルター処理が含まれます。XlsIO は、セルの内容を動的に書式設定してデータの外観を変更する条件付き書式もサポートしています。
XlsIO は、Excel でサポートされているすべての数式と 400 を超える Excel 関数をサポートしています。アドイン関数、外部数式、数式配列も使用できます。
Essential XlsIO を使用すると、DataTable、Collection オブジェクト、ネストされたコレクション オブジェクト、配列など、さまざまなソースのデータにテンプレート マーカーをバインドできます。カスタマイズされたデータのインポートもサポートされており、DataTable、Collection オブジェクト、ネストされたクラスにエクスポートできます。
ワークブックを暗号化するために使用できるパスワードは 2 種類あります。アクセス パスワードは不正な表示から保護し、変更パスワードは特定のユーザーにワークブック データを編集して保存する権限を与えます。
Syncfusion は、大きなファイルを扱っていて、生成中にファイル内で多くの処理を実行する必要がある場合でも、高速に動作します。
ASP.NET を使用してブラウザで Excel ファイルを表示できます。
Syncfusion XlsIO は、非常に使いやすい非 UI コンポーネントです。豊富な Excel レポートの作成と管理に必要なすべての機能を備えています。グラフ、数式、関数、書式設定用の重要な API を使用すると、Excel 自体をダウンロードしなくても、必要なすべての Excel タスクを実行できます。Syncfusion は大規模なデータセットを非常にうまく処理でき、必要に応じてパフォーマンスを向上させる方法も提供します。たとえば、あるインターフェイスを別のインターフェイスよりも使用してメモリを最適化し、パフォーマンスを向上させることができます。
XLS、XLSB、XLSX、XLSM など、ほぼすべての Microsoft Excel ドキュメント形式の作成、読み取り、変更をサポートします。
DevExpress Spreadsheet は、複数の 2D および 3D チャートのチャート管理を提供します。ヒストグラム、ウォーターフォール、ファネル チャートなどを作成、アクセス、変更、削除できます。
セルに割り当てることができる値には、数式、テキスト、数値、論理値、日付などがあります。色、フォント、グラフィック効果などのドキュメント テーマは、すべてのブックに関連付けられています。定義済みのテーマの色を編集したり、カスタム テーマを作成したりすることもできます。
ワークブック、ワークシート、グラフ シートを作成、アクセス、変更、または削除できます。また、行や列を挿入、コピー、非表示、固定、サイズ変更、または削除することもできます。
DevExpress レポート デザイナーでテンプレートを使用してスプレッドシートを生成します。
オートフィルター機能を使用すると、数値、値、テキスト、日付でフィルターできます。条件付き書式設定操作により、データ バー、アイコン、定義済みの色を使用して、セルの値を強調表示したり、セル内の傾向を確認したりできます。
API には、400 を超える Excel 関数を備えた高速な数式計算エンジンが組み込まれています。独自の数式や関数を作成することもできます。
データ バインディングは、デフォルトで双方向です。ワークシート内のセル範囲またはテーブルをデータ ソースにバインドしたり、セル範囲をデータ ソースとして使用したりできます。配列、リスト、データセットからワークシート セルにデータをインポートする機能もサポートされています。API には、エクスポートの処理用に特別に設計された Excel エクスポート ライブラリもあり、サーバー側で大量のドキュメントを生成するときにメモリ使用量を最小限に抑えるのに最適です。
API を使用すると、ワークシートやワークブックをパスワードで保護して、不正なアクセスや変更を防ぐことができます。
同社のウェブサイトによると、このライブラリはスプレッドシート生成時のメモリ消費を削減し、パフォーマンスを大幅に向上させるために開発されたとのこと。
ドキュメント ビューアーは、ASP.NET Core や Blazor プラットフォームなどの .NET 開発フレームワークで DevExpress レポートのみを表示するコンポーネントです。ユーザーは Excel ドキュメントを表示、印刷、エクスポートできます。必要なアクションはすべてサーバー側で実行されます。
DevExpress は、高度な機能を備えた強力な Excel ソリューションとして定評があります。その API を使用すると、高性能アプリケーションを開発できます。グラフの作成やセルとワークシートの書式設定のための十分なカスタマイズ オプションが用意されているため、希望どおりにデータを表示できます。また、強力なデータ バインディング機能も備えているため、レポート デザイナー テンプレートを使用して Excel レポートを簡単に生成できます。DevExpress には学習曲線があるため、これらの機能を活用するには、他のライブラリよりも少し手間がかかる場合があります。
IronXL は、XLS、XLSX、XLST、XLSM、CSV、TSV Excel 形式と互換性があります。非常にシンプルで覚えやすい機能を使用して、ドキュメントを作成、読み取り、編集できます。
IronXL は、縦棒グラフ、散布図、折れ線グラフ、円グラフ、棒グラフ、面グラフをサポートしています。ただし、グラフのタイトルと凡例の位置しか編集できないため、カスタマイズは他のライブラリに比べて比較的制限されています。
フォント、サイズ、境界線、配置、背景パターン、条件付き書式を指定して、セルのスタイルを設定できます。また、並べ替え、トリム、クリア、コピー、検索と置換、ハイパーリンク、セルの結合と結合解除など、セル範囲を管理するための複数の機能もあります。
IronXL を使用すると、ワークシートを作成、編集、保存できます。行と列の数やサイズを調整することもできます。その他のアクションには、画像の追加、ワークシートの複製、グループ化、グループ解除などがあります。
Excel レポートのテンプレートを読み込むことも、独自のテンプレートを作成して XLTX ファイルとして保存することもできます。
IronXL は、条件付き書式の追加、取得、削除をサポートしています。IronXL はセルのフィルタリングをサポートしていません。
IronXL を使用すると、Excel を開いて既存の数式を編集し、数式から結果を取得できます。ワークシートを編集するたびに、数式が自動的に再計算され、正確な結果が得られます。また、165 を超える Excel 関数もサポートされています。
Excel データを JSON や HTML などのさまざまな形式にエクスポートしたり、Excel ファイルからデータを抽出したりできます。IronXL はデータ バインディングをサポートしていません。
API は、パスワードで保護されたワークブックの編集と保存をサポートします。
IronSoftware によれば、IronXL では、セル範囲プロパティの評価、ランダム セル操作、大きな行の削除操作など、メモリ使用量が削減された操作のメモリ使用量が大幅に改善されています。また、IronXL は高度に最適化されており、単純なジョブと複雑なジョブの両方に使用できる Excel 操作が可能になります。
開発者は IronXl を使用して ASP.NET Excel ビューアーを作成できます。Web ページから直接 Excel ファイルを表示、編集、およびナビゲートできます。
IronXL には、スプレッドシートの値を効率的に更新するために必要なツールであるデータ バインディングなどの重要な機能がいくつか欠けています。また、データ分析機能を強化できる操作であるフィルタリングもサポートされていません。
IronXL の機能の中には、本来あるべきほど充実していないものもあります。たとえば、チャートのカスタマイズ オプションは非常に限られています。また、サポートされている関数の数も、特にこれまでに紹介した他のライブラリと比較すると非常に少ないです。
IronXL を使用するのに熟練した開発者である必要はありません。API は比較的簡単に使用できます。ただし、IronXL の API パフォーマンス、最適化、その他の機能が向上したとしても、大規模なスプレッドシート プロジェクトに導入する前に、他の代替手段を検討することをお勧めします。
メモリ使用量とプログラミング フットプリントの削減は、特に非常に大きなデータセットを処理する場合、すべてのライブラリに共通する問題です。また、多くのライブラリには類似した機能があります。注目すべき重要なポイントとしては、API のライブラリを使用するサンプルやデモの品質、およびユース ケースに該当する場合は、その API ライブラリで使用できるフロントエンド ビューアー オプションがあります。これらの変数を考慮すると、 Document Solutions for Excel, .NET Edition は、スプレッドシートの開発エクスペリエンスを可能な限りスムーズにする包括的な C# .NET Excel ライブラリとして際立っています。