"Excelize オープンソース化10周年、バージョン2.11.0をリリース"

Excelize は、Office Excel スプレッドシートドキュメントを操作するためのオープンソースの基盤ライブラリであり、ECMA-376 および ISO/IEC 29500 国際標準に準拠しています。これを使用することで、Excel、WPS、OpenOffice などのオフィスソフトで作成されたスプレッドシートドキュメントの読み込みおよび書き込みが可能です。

XLAM / XLSM / XLSX / XLTM / XLTX など多様なドキュメント形式をサポートしているほか、スタイル、画像(グラフ)、ピボットテーブル、スライサーといった複雑なコンポーネントを含むドキュメントと高い互換性を備えています。さらに、大規模データを含むワークブックを処理するためのストリーミング読み書き機能も提供しています。

各種レポートプラットフォーム、クラウドコンピューティング、エッジコンピューティングなどのシステムに幅広く応用可能です。

オープンソース

GitHub: github.com/xuri/excelize

Doc: xuri.me/excelize/ja

GitHub における Excelize のスター数推移

"GitHub における Excelize のスター数推移"

2026年7月7日、Excelize のオープンソース化10周年という節目に、コミュニティよりバージョン 2.11.0 が正式にリリースされました。本バージョンには、新機能の追加、バグ修正、互換性の向上および最適化など、40 以上のアップデートが含まれています。世界中から 27 名の開発者が本リリースにコードをコントリビュートしました。

以下は本バージョンのアップデート内容の概要です。今回のリリースにおける主な変更点は以下の通りです:

リリースノート

このバージョンでの最も注目すべき変更点は次のとおりです:

互換性のヒント

  • 要件更新:依存パッケージ golang.org/x/net のアップグレードに伴い、Go 言語バージョン 1.25.0 以上が必要になりました
  • AddChartAddChartSheetAddShape 関数の破壊的変更
    • ChartTitle フィールドのデータ型を []RichTextRun から ChartTitle に変更
    • ShapeLine フィールドのデータ型を ShapeLine から LineOptions に変更
    • データ型 ChartDashTypeLineDashType に改名
    • データ型 ChartLineTypeLineType に改名
    • データ型 ChartLineLineOptions に改名

セキュリティ

  • 無制限のメモリ割り当てを防ぐため、ワークシート読み取り時に行番号を検証するようになりました (CVE-2026-54063)、関連するセキュリティアドバイザリ GHSA-h69g-9hx6-f3v4
  • ワークシートの行番号がオーバーフローの最大制限を超えていないことを検証することで、攻撃者が制御するメモリ割り当てを防止 (CVE-2026-59161)、関連するセキュリティアドバイザリ GHSA-q5j5-6p94-4gwc
  • 共有文字列テーブルの無効なインデックスでセル値を取得する際のパニックを防止 (CVE-2026-59162)、関連するセキュリティアドバイザリ GHSA-fx5j-qcqg-grpf

新機能

  • 新しいデータ型 ChartTitle を追加
  • 新しいデータ型 PivotTableShowValuesAs を追加
  • 新しい列挙型 PivotTableShowValuesAsType を追加
  • 3 つの新しいエクスポートエラー変数を追加:ErrPivotTableShowValuesAsBaseFieldErrPivotTableShowValuesAsBaseItemErrUnsupportedPivotTableShowValuesAsType
  • データ型 PivotTableField に新しいフィールド ShowValuesAs を追加
  • データ型 PivotTableOptionsSlicerOptions に新しいフィールド SelectedItems を追加
  • 列幅の自動調整をサポートする新しい関数 AutoFitColWidth を追加, 関連する問題 92
  • SetSheetName 関数が無効なソース名のシートの名前変更を許可するよう修正, 関連する問題 548
  • CalcCellValue 関数でチルダワイルドカード条件をサポート
  • CalcCellValue 関数で暗黙的な共通部分をサポートし、正規表現条件のアンカリングを修正
  • CalcCellValue 関数でシート範囲をまたぐ 3D 参照をサポート, 関連する問題 2303
  • CalcCellValue 関数でセルの生の値を含む数式計算結果の返却をサポート, 関連する問題 2316
  • AddPivotTable 関数で、同じデータフィールドがピボットテーブルの列・行・フィルターフィールドに同時に含まれているかどうかの検証をサポートし、破損したワークブックの生成を防止
  • AddPivotTableGetPivotTables 関数でピボットテーブルデータフィールドの「値の表示形式」の設定・取得をサポート, 関連する問題 2340
  • AddPivotTableAddSlicerGetPivotTablesGetSlicers 関数でピボットテーブルおよびピボットテーブルスライサーの選択済みアイテムの設定・取得をサポート, 関連する問題 2154
  • AddChartAddChartSheet 関数で数式を使用したグラフタイトルの設定をサポート
  • AddChartAddChartSheet 関数でグラフタイトルおよびグラフ軸タイトルのレイアウト設定をサポート
  • AddChartAddChartSheet 関数でグラフタイトルおよびグラフ軸タイトルの線の書式設定をサポート
  • AddShape 関数で図形の線の書式設定をサポート
  • NewStyle 関数で単色塗りつぶしスタイルを作成する際に、カスタムカラー値が指定されていない場合の前景色・背景色の自動設定をサポート

互換性の向上

  • グラフシートで Excel Online および KingSoft WPS™ Office にグラフが表示されない問題を修正, 関連する問題 2273

問題の修正

  • v2.8.1 のリグレッション問題を修正 1383
  • フィルシリーズなしのグラフを追加する際に AddChart 関数がパニックになる問題を修正
  • 一部のケースで無効な行参照時に CalcCellValue 関数がパニックになる問題を修正, 関連する問題 2266
  • CalcCellValue 関数使用時に数式の完全一致テキストマッチングがサブ文字列にマッチしない問題を修正
  • CalcCellValue 関数における数式関数 BINOM.INV、CHIINV、CHISQ.DIST、IMSECH、IMSQRT、NEGBINOM.DIST の計算精度の問題を修正
  • 一部のケースで CalcCellValue 関数が FREQUENCY の計算結果を誤って返す問題を修正
  • 括弧または演算子内にエラー値が含まれる場合に CalcCellValue 関数が誤った計算結果を返す問題を修正, 関連する問題 2344
  • 著者が既に著者リストに存在する場合に AddComment 関数がすべてのコメントに誤った著者 ID を割り当てる問題を修正, 関連する問題 2289
  • エラーを返す前にファイルアンロッカーが呼び出されないことによるデッドロックの可能性を修正
  • カスタム数値書式でコンマスケーリングが正しく適用されない問題を修正, 関連する問題 2297
  • 列イテレーターで無効なワークシート XML を含む破損したワークブックを読み取る際にパニックが発生する問題を修正, 関連する問題 2299
  • 外部参照を含む数式を調整した後にシングルクォートが欠落する問題を修正
  • 一部のケースで ECMA-376 Agile 暗号化と SHA512 ハッシュアルゴリズムで保護されたワークブックの復号に失敗する問題を修正, 関連する問題 2328
  • SetCellFormula 関数が通常の数式で上書きする際に共有数式メタデータをクリアしない問題を修正, 関連する問題 2337

パフォーマンスの最適化

  • 暗号化されていないワークブックの読み取り時のメモリ使用量を削減し、行イテレーターのメモリ使用量を最大 85% 削減
  • 座標変換および一部の内部関数のパフォーマンスを最適化
    • ColumnNumberToName 関数のメモリ割り当てを約 90% 削減
    • CoordinatesToCellName 関数のメモリ割り当てを約 13% 削減
    • 内部関数 isNumeric のメモリ割り当てを約 68% 削減

その他

  • Go Modules はモジュールの更新に依存しています
  • 単体テストとドキュメントの更新
  • 多言語対応のドキュメント ウェブサイトが更新されました: アラビア語、ドイツ語、英語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語、ロシア語、中国語 (簡体字)、中国語 (繁体字)
  • excelize-wasm WebAssembly / JavaScript サポート向け NPM パッケージリリースアップデート
  • excelize Python 向け PyPI パッケージリリースアップデート
  • ExcelizeCs C# 向け NuGet .Net パッケージリリースアップデート

ありがとうございました

Excelize へのすべての貢献者に感謝します。以下は、このバージョンでコードに貢献した貢献者のリストです:

  • Rynzie02 (Rynzie)
  • jpoz (James Pozdena)
  • tvso (Tammy)
  • yyt030 (yyt)
  • hwo411 (Igor Khodyrev)
  • JimLee0921 (TuoLee)
  • zhuyanhuazhuyanhua (zhuhua)
  • kenny-not-dead (Roman Sergeev)
  • debugdoctor (Debug Doctor)
  • Journeyman150 (Vladislav Anisimov)
  • ivolkoff (Ivan Volkov)
  • plandem (Andrey G.)
  • martskins
  • shcabin
  • narasaka (Nathanael Tehilla Gunawan)
  • lawrence3699 (chaoliang yan)
  • SAY-5 (Sai Asish Y)
  • noahchiu22 (Noah)
  • rootsec1 (Abhishek Murthy)
  • guangxuewu
  • AdamDrewsTR (Adam Drews)
  • grmblfrz (Swen Thümmler)
  • WaterRRabbit
  • krystophny (Christopher Albert)
  • Aprax14 (Damiano Scarpellini)
  • artur-chopikian (Artur Chopikian)
  • huijian3139 (Jason)