Aspose.Cells for Java vs. オープンソースの競合製品
概要
多くのビジネスシナリオでは、特定の意思決定やタスクのニーズに焦点を当てた、コンテンツ豊富なリッチなレポートが求められます。また、データの収集、分析、データベースシステムとのインターフェースが必要とされます。
一般的な解決策として、データ収集、分析、プレゼンテーションツールとしてスプレッドシートを使用することが挙げられます。解決策は、特定のビジネスシナリオを分析できる完全にフォーマットされたMicrosoft Excelファイルを作成できるべきであり、理想的には、これらの基本的な機能を拡張してデータの収集と他の広く使われているオフィスアプリケーションへのデータのエクスポートを探索できるような設計であるべきです。
今日の市場で、スプレッドシート管理のための機能豊富なAPIを提供するスプレッドシートコンポーネントが豊富にあります。ここでは、Aspose.Cells for Javaの機能を、そのオープンソースの競合製品であるJExcelAPIおよびPOIのHSSFと比較した機能分析を行います。それぞれについて簡単に紹介します。
Aspose.Cells for Java
Aspose.Cells for Javaは、Microsoft Excelがシステム(クライアントまたはサーバ)にインストールされていなくても、JavaアプリケーションでExcelスプレッドシートを作成し管理する柔軟性のあるコンポーネントです。他のベンダーの類似製品とは異なり、Aspose.Cells for Javaはスプレッドシートの生成と基本的なファイルフォーマットの機能だけでなく、多くの高度な機能もサポートしています。これらの高度な機能により、開発者はスプレッドシートの内容、セルの書式設定、ファイル保護オプションを簡単に操作できます。
Aspose.Cells for Javaは、異なるデータソースからスプレッドシートにデータをインポートし、一般的な数学的な式や複雑な式、日時、金融、テキストの数式や関数を追加し、画像をインポートし(BMP、GIF、JPG、PNG、WMF、EMFなど、主要なフォーマットがサポートされています)、コメントを作成し、図形オブジェクトやコントロールを作成し、その他のタスクを実行することができます。
Aspose.Cells for Javaはアドイン、VBA、およびマクロもサポートしています。
開くと保存
一般的なExcelファイルの作成または読み込みなどをサポートすることに加えて、Aspose.Cells for Javaには、ストリームへのExcelファイル(Excel 97 - Excel 2007)の保存および開く、ResultSetおよび配列からのデータのインポートおよびエクスポートなど多くの有益な機能があります。
Aspose.Cellsは、チャート、名前付き範囲、ヘッダー、フッターをMicrosoft Excelが提供するすべての属性でインポートし、ハイパーリンクや画像を挿入し、デザイナースプレッドシートからの数式をインポートすることができます。
フォーマット
ワークシートデータのフォーマットは重要です。ワークシートを印刷したり、クライアントにメール送信したり、上司に見せる予定がある場合は、ビューアフレンドリーな形式でフォーマットされているかどうかを考える必要があります。色、網掛け、境界線、フォント、数値のフォーマット、配置、インデント、文字列の折り返しや回転などを慎重に使用することで、データの入り乱れたワークシートと、操作し理解しやすいワークシートの違いが生まれます。
Aspose.Cells for Javaは、セルやセル範囲に簡単に境界線を引く柔軟性を提供します。さらにAPIにより、フォント設定(ファミリー、種類、スタイル、サイズ、色、配置)や背景パターンを持つセルに塗りつぶしを適用することができます。APIは効率的で、完全な行や列の書式設定、配置の設定、セル内のテキストの折り返しや回転などを行うことができます。
Aspose.Cells for Javaは、一般的なフォーマット、10進符号の数字、通貨記号、パーセンテージ、科学的フォーマット、日時値など、あらゆるタイプの数値フォーマットをサポートしています。
Aspose.Cellsは、開発者が一括で行と列を自動調整し、便利なAPIでページ設定オプションのすべてのタイプを構成できるようにします:上、左、下、右の余白、配置(縦または横)、スケーリング、用紙サイズ、印刷エリア、繰り返し行と列など様々なオプションです。
特長
Aspose.Cells for Javaには、XLS、XLT、XLSX、CSV、SpreadsheetML、Tab delimited、TXT、XML、HTMLなど幅広いフォーマットをサポートするという開発者だけのユニークな特長もあります。
このAPIは、既存のワークシート(内容、画像、チャートを含む)のコピーをファイルに追加し、APIを使用してチャートにグラデーション背景を設定し、コメントの作成、ロケールおよび地域設定、自動フィルタや改ページ、複雑な数式の設定、条件付き書式、Microsoft Excel XP以降で導入されたすべての種類の保護オプション、名前の範囲の操作などができます。
さらに、Aspose.CellsはカスタムチャートAPIと効率的な数式計算エンジンを追加します。
Aspose.Cells for Javaをお試しください
Aspose.Cells for Javaには多数の機能があります。機能について詳しく知るには、ドキュメントとオンラインデモをご覧ください。
このコンポーネントを試して、他の競合製品との違いを確認してください。評価版は時間制限なしで完全無料です。こちらから評価版をダウンロードしてください。
その他のAPI
JExcelAPI
JExcelAPIは、Excelスプレッドシートの読み込み、書き込み、および変更に使用されるJava APIです。Java開発者がExcelスプレッドシートを読み込んで動的に生成し、書き込むことができるオープンソースのJava APIです。また、スプレッドシートを読み込み、セルを変更し、新しいスプレッドシートを書き込むメカニズムも含まれています。
執筆時点では、一部の機能しかサポートしていません。具体的には、XLSファイルフォーマットのネイティブMicrosoft Excelファイル(Excel97-2003)の読み込みおよび書き込みのみをサポートしています。一部の限られた数式計算サポートがあります。フォントの操作、数値および日付の書式設定のサポート、既存のワークシートの変更、ロケールの設定、チャートの保持(ただし、チャートの作成や操作を許可しません)、画像の挿入などができます。
限られたチャートサポート
JExcelApiは、チャートの作成および操作をサポートしていません。チャートを含むスプレッドシートをコピーすると、そのチャートが生成されたスプレッドシートに書き込まれます(チャートを含むシートに他のデータが含まれている場合)。すべての画像情報が保持されますが、スプレッドシートに画像を追加する場合にはPNG形式の画像のみがサポートされます。
ワークシートのコピーができません
ワークブック内またはワークブック間でワークシートを直接コピーするためのAPIはありません。この作業は間接的な方法で行うことができますが、いくつかの作業が必要です。例えば、ループを使用して、WritableCell.copyTo()メソッドでセルごとにコピーを行う必要があり、それにより深いコピーが行われます。ただし、フォーマットは浅くコピーされるため、セルのフォーマットを取得し、それのコピー構築子を使用し、その後でコピーしたセルにWritableCell.setCellFormat()を呼び出す必要があります。
最適化なし
JExcelAPIのもう一つの制限は、ファイルサイズを削減するための最適化が行われないことです。したがって、生成されたファイルのサイズがMB単位で非常に大きいことに驚くことはありません。
フィットする行または列のAPIがありません。各列のセルをスキャンし、最大長を計算し、それに応じてWritableSheet.setColumnView()およびWritable Sheet.setRowView()を呼び出すコードを書く必要があります。
欠落している機能
他にもいくつかの障壁があります。APIではピボットテーブルやドロップダウンリストをサポートしていません。セルに設定する限定されたバリデーションオプションがあります。例えば、繰り返し行や列、およびすべての種類の保護オプション(シートに関連するパスワード保護を含む)などのページ設定や印刷オプションが完全にサポートされていません。また、データのソート、自動フィルタデータ、条件付き書式、図形、コントロールなど、多くの貴重な機能をサポートしていません。
POI-HSSF
HSSFは、Excelスプレッドシートを読み込んだり書き込んだりするPOIのコンポーネントです。JExcelAPIと比較して、ネイティブのMicrosoft Excelファイル(Excel97-2003 - XLSX OOXMLファイルフォーマットはまだサポートされていません)、セルの書式設定(数値フォーマット、フォント、色、境界線、配置など)、セルの結合、ページ設定のオプション、画像や図形のインポート、名前付き範囲の作成、コメント、ヘッダー、フッター、ハイパーリンク、行や列の自動調整など、拡張された機能セットを持っています。
限られたチャートサポート
POI-HSSF APIにはいくつかの既知の制限があります。たとえば、現在はチャートを作成することはできません。ただし、Excelでチャートを作成し、HSSFを使用してチャートデータ値を変更し、新しいスプレッドシートを書き出すことはできます。もう一つはピボットテーブルのサポートです。ピボットテーブルを生成することはできません。
式の計算
POIのorg.apache.poi.hssf.usermodelは式をサポートしていますが、豊富な式計算エンジンを欠いています。セル参照文字列、整数および浮動小数リテラル、相対参照または絶対参照、算術および論理演算子を含む式をサポートしていますが、配列式、単項演算子、3D参照をサポートしていません。
欠落している機能
HSSF APIはピボットテーブルをサポートしていません。セルに設定するための限られたデータ検証オプションがあります。データの並べ替えや自動的なデータフィルタリングの機能もサポートしていません。
機能の比較
次の表は、Aspose.Cells for Javaがオープンソースコンポーネント(上記)にどのように対応しているかについての機能概要を提供しようとするものです。ただし、関連する製品によって提供されるすべての機能を網羅しようとするものではありません。これは特定の時点で取得された概要であり、欠落している機能があなたがドキュメントを読んでいるときにサポートされる可能性が非常に高いです。
機能 | JExcelAPI | POI’s HSSF | Aspose.Cells for Java |
---|---|---|---|
ファイルフォーマット | |||
XLS、XLT、XLSX、CSV、SpreadsheetML、タブ区切り、TXT、XML、HTMLのファイルフォーマットの読み書き | 部分的にサポート | 部分的にサポート | サポート |
ファイルを開いてストリームに保存 | サポート | ||
ExcelファイルをPDF文書に変換 | サポート | ||
パスワードで保護されたファイル | サポート | サポート | |
スプレッドシートのコンテンツを操作 | |||
Excelファイルのドキュメントプロパティを変更 | サポート | ||
ワークシートデータを配列にエクスポート | サポート | ||
ResultSetからデータをインポート | サポート | ||
配列、コレクションからデータをインポート | サポート | ||
既存のワークシートのコピー(画像やチャートを含むすべてのコンテンツ)を追加 | 部分的にサポート | 部分的にサポート | サポート |
画像をインポート | サポート | ||
チャートをインポート | サポート | ||
APIを使用してチャートのグラデーション背景を設定 | サポート | ||
コンテンツ、オブジェクト、シナリオを含むワークシートを保護 | 部分的にサポート | サポート | サポート |
APIを使用して自動フィルタを作成 | サポート | ||
ページ設定機能(上部、左部、下部、右部、ヘッダーおよびフッターマージン、ポートレートまたはランドスケープの方向、スケーリング、用紙サイズ、印刷エリア、繰り返し行と列) | 部分的にサポート | サポート | サポート |
APIを介して水平および垂直のページ区切り | サポート | サポート | サポート |
ワークシートをワークブック内およびワークブック間でコピーおよび移動 | サポート | サポート | |
行と列の挿入および削除 | サポート | サポート | |
行および列の自動調整 | サポート | サポート | |
行と列のコピー | サポート | ||
データのソート | 対応 | ||
先行するセルと従属するセルをトレース | 対応 | ||
自動フィルタリング | 対応 | ||
データの検証(すべてのタイプ) | 部分的に対応 | 部分的に対応 | 対応 |
デザイナースプレッドシートから数式をインポート | 部分的に対応 | 部分的に対応 | 対応 |
APIを通じて複雑な数式を設定 | 対応 | ||
条件付き書式設定 | 対応 | 対応 | |
シートのアクティブ化とブック内のアクティブセルの作成 | 対応 | 対応 | 対応 |
高度な機能 | |||
スマートマーカー | 対応 | ||
標準のチャート作成(列、バー、折れ線、円、散布図、面、ドーナツ、レーダー、3Dサーフェス、バブル、株、円柱、円錐、ピラミッドなど) | 対応 | ||
カスタムチャートAPI | 対応 | ||
文書のプロパティ設定 | 対応 | ||
高度なExcel XP保護オプション | 対応 | ||
アドイン、VBA、マクロ | 対応 | ||
名前付き範囲の操作 | 対応 | 対応 | 対応 |
ピボットテーブル | 対応 | ||
一般的な図形オブジェクト、図形、コントロールの作成 | 対応 | 対応 | |
チャートにコントロールを挿入 | 対応 | ||
数式計算エンジン | 対応 | ||
検索API | 対応 | 対応 | 対応 |