Go用Aspose.CellsのC経由の機能と性能の比較 Excelize、Tealeg/xlsx、Go OLEとの比較
Contents
[
Hide
]
以下は、機能性、性能、ユースケースの観点から、Aspose.Cells for Go(C++経由)と他の主流のGo言語のExcel処理ライブラリ(Excelize、tealeg/xlsx、go-ole)との包括的比較です
基本的な位置付けと構成の違い
| ライブラリ名 | 種類 | 基盤となる実装 | CGO依存性 | クロスプラットフォーム展開 |
|---|---|---|---|---|
| Aspose.Cells for Go | 商用ライブラリ (MIT/有料) | ネイティブエンジン、Go CGOラッパー | ✅ あり | Windows、Linuxサポート |
| Excelize | オープンソースライブラリ (MIT) | 純粋なGo実装 | ❌ なし | Windows、Linux、MacOSサポート |
| tealeg/xlsx | オープンソースライブラリ (BSD) | 純粋なGo実装 | ❌ なし | Windows、Linux、MacOSサポート |
| go-ole | オープンソースライブラリ (BSD) | Go Windows OLE/COMインターフェース | ✅ あり(Windowsのみ) | Windows限定 |
主要な違い
- Aspose.Cells for Go via C++は、最も機能が充実した産業グレードの商用ライブラリですが、有料製品です。
- Excelizeは、現在最もアクティブでオープンソースのGoライブラリであり、純粋なGoです。
- Tealeg/xlsxは、機能が古く、メンテナンスが遅い初期のオープンソースライブラリです。
- Go-oleは、Excelのインストールに依存するWindows専用のCOM自動化方式であり、サーバー環境には推奨されません。
機能比較
サポートされているファイル形式の比較
| スプレッドシート形式 | Aspose.Cells for Go via C++ | Excelize | Tealeg/xlsx | Go-OLE(Excelアプリ) |
|---|---|---|---|---|
| Xlsx | ✅ 対応 | ✅ 対応 | ✅ 対応 | ✅ Excelに依存 |
| Xlsb | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ✅ Excelに依存 |
| Xls | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ✅ Excelに依存 |
| Xlsm | ✅ 対応 | ✅ 対応 | ✅ 対応 | ✅ Excelに依存 |
| Xltm | ✅ 対応 | ✅ 対応 | ✅ 対応 | ✅ Excelに依存 |
| Xltx | ✅ 対応 | ✅ 対応 | ✅ 対応 | ✅ Excelに依存 |
| Csv | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ✅ Excelに依存 |
| Ods | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ✅ Excelに依存 |
| Html | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ❌ 非対応 |
| Numbers | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ❌ 非対応 |
| Json | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ❌ 非対応 |
| Xml | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ❌ 非対応 |
| SpreadsheetML | ✅ 対応 | ❌ 非対応 | ❌ 非対応 | ❌ 非対応 |
サポートされているスプレッドシート機能
| ライブラリ機能 | Aspose.Cells for Go via C++ | Excelize | Tealeg/xlsx | Go-OLE(Excelアプリ) |
|---|---|---|---|---|
| 読み書き(ファイル形式サポート) | ✅ 対応 | ✅ 対応 | ✅ 対応 | ✅ 対応 |
| セル/行/列/ワークシート | ✅ 対応 | ✅ 対応 | ✅ 対応 | ✅ 対応 |
| スタイル | ✅ はい | ✅ はい | ✅ はい | ✅ はい |
| 数式計算 | ✅ はい | ✅ はい(部分) | ❌ いいえ | ✅ いいえ(Excelによる計算) |
| Chart/Picture | ✅ Yes | ✅ Yes (Part) | ❌ No | ✅ Yes |
| ピボットテーブル | ✅ はい | ✅ はい | ❌ いいえ | ✅ はい |
| 条件付き書式 | ✅ はい | ✅ はい | ❌ いいえ | ✅ はい |
| データ検証 | ✅ はい | ✅ はい | ❌ いいえ | ✅ はい |
| 暗号化/パスワード保護 | ✅ はい | ✅ はい | ❌ いいえ | ✅ はい |
| データ検証 | ✅ はい | ✅ はい | ❌ いいえ | ✅ はい |
| VBAマクロ | ✅ はい 読み取り | ❌ いいえ | ❌ いいえ | ✅ はい |
| データ検証 | ✅ はい | ✅ はい | ❌ いいえ | ✅ はい |
パフォーマンス比較
-
テスト環境: プロセッサー:第12世代Intel(R) Core(TM) i7-12700 (2.10 GHz) インストールRAM:64.0 GB(使用可能:63.7 GB) OS名:Microsoft Windows 11 Pro OSバージョン:10.0.26100 OSアーキテクチャ:64ビット Goバージョン:go version go1.24.5 windows/amd64 Aspose.Cells for Go via C++: 25.9.0 Excelize: 1.4.1
-
テストシナリオ: 大きなファイルを想定、10ワークシート、100,000行×250列、書式設定含む
-
実行結果:
- Excelizeの実行時間は35分(開始時間:2025-10-09T10:04:16+08:00、終了時間:2025-10-09T10:39:53+08:00)、生成ファイルサイズ:1.11 GB。
- Aspose.Cells for Go via C++(モデル1)は27分間実行(開始時間:2025-10-09T10:57:55+08:00、終了時間:2025-10-09T11:16:24+08:00)、生成ファイルサイズ:936MB。
- Aspose.Cells for Go via C++(モデル2)は16分間実行(開始時間:2025-10-09T12:01:26+08:00、終了時間:2025-10-09T12:17:17+08:00)、生成ファイルサイズ:1.16GB。