Go用Aspose.CellsのC経由の機能と性能の比較 Excelize、Tealeg/xlsx、Go OLEとの比較

以下は、機能性、性能、ユースケースの観点から、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。