Excelize 2.9.1 リリース - スプレッドシート（Excel）ドキュメント向けの強力なオープンソースライブラリ

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/excelize-2-9-1-released---powerful-open-source-library-for-spreadsheet-excel-document_602293?spm=a2c65.11461433.0.0.4ee353556l0cON)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

![Excelize 2.9.1 Released - Powerful open-source library for spreadsheet (Excel) document](https://yqintl.alicdn.com/075ffa530dc1369a591ad356a55b9d5f5284eb9b.jpeg)

Excelizeは、純粋なGoで書かれたライブラリで、XLAM / XLSM / XLSX / XLTM / XLTXファイルを読み書きするための一連の関数を提供します。Microsoft Excel™ 2007以降で生成されたスプレッドシート文書の読み書きをサポートしています。高い互換性による複雑なコンポーネントをサポートし、大規模なデータを持つワークシートからデータを生成または読み取るためのストリーミングAPIを提供します。GitHub: [github.com/xuri/excelize](https://github.com/xuri/excelize)

オープンソースコミュニティは、2025年5月13日に[バージョン2.9.1](https://github.com/xuri/excelize/releases/tag/v2.9.1)のリリースを発表しました。新機能がいくつか追加され、多数のバグが修正されています。リリースノート

このリリースでの最も注目すべき変更点は以下の通りです：

### 破壊的変更

- Go言語のバージョン要件が1.23以上にアップグレードされました（依存パッケージgolang.org/x/cryptoのアップグレードのため）
- DataValidationType, DataValidationErrorStyle, DataValidationOperator, PictureInsertTypeのデータ型がintからbyteに変更されました
- SetCellInt関数はint64データ型のパラメータが必要となり、問題2068を解決
- ピクチャーやグラフ、図形、フォームコントロールなどの描画オブジェクトを追加する際、オフセット設定が描画オブジェクトのサイズに影響しなくなりました。関連する問題2001

### 注目すべき機能

- Chartデータ型に新しいフィールドGapWidthとOverlapを追加
- ChartPlotAreaデータ型に新しいフィールドShowDataTableとShowDataTableKeysを追加
- ChartAxisデータ型に新しいフィールドAlignmentを追加
- ChartSeriesデータ型に新しいフィールドDataLabelを追加
- PageLayoutOptionsデータ型に新しいフィールドPageOrderを追加
- 新しいエラー変数ErrPageSetupAdjustToとErrStreamSetColStyleを追加
- 新しい列挙型HeaderFooterImagePositionTypeとIgnoredErrorsTypeを追加
- 新しいデータ型CalcPropsOptionsとHeaderFooterImageOptionsを追加
- SetCalcPropsおよびGetCalcPropsという新しい関数を追加し、ワークブック計算プロパティの設定と取得をサポート
- 新しい列挙値CultureNameJaJP, CultureNameKoKR, CultureNameZhTWを追加し、日本の暦年、韓国の単紀カレンダー、中華民国年の数値書式適用をサポート。関連する問題1885
- 新しい関数AddHeaderFooterImageを追加し、ヘッダーやフッターにグラフィックスを設定するサポートを追加。関連する問題1395
- 新しい関数AddIgnoredErrorsを追加し、セル範囲の無視されるエラーのサポートを追加。関連する問題2046
- ストリーミングライター用の新しい関数SetColStyleを追加し、列スタイルの設定をサポート。関連する問題2075
- AddChartおよびAddChartSheet関数が、チャート軸テキストの方向と回転角度を設定することをサポート。関連する問題2025
- AddChartおよびAddChartSheet関数が、柱状グラフや棒グラフのギャップ幅と重なりを設定することをサポート。関連する問題2033
- AddChartおよびAddChartSheet関数が、チャート系列データラベルの書式設定をサポート。関連する問題2052
- AddChartおよびAddChartSheet関数が、チャートのデータテーブル設定をサポート。関連する問題2117
- AddFormControl関数が、チェックボックスのセルリンク設定をサポート。関連する問題2113
- SetPageLayout関数がページレイアウトのページ順序設定をサポート
- DeletePicture関数が1つのセルアンカー画像の削除をサポート。関連する問題2059
- SetPageLayout関数のオプション値が無効の場合、エラーが返されます
- 複数のワークシート間でのデータ検証調整をサポート。関連する問題2072
- ハッシュ記号とゼロプレースホルダーを使用した数値書式の適用をサポート。関連する問題2058
- ?シンボルを使用した数値書式の適用をサポート
- 位置指定がoneCellとして指定された場合、1つのセルアンカー付き描画オブジェクトの挿入をサポート。関連する問題2002

### バグ修正

- v2.9.0の回帰バグを修正。ストリームライターで生成されたワークブックを開く際に破損したワークブックが生成される問題を解決。問題2015
- 冗長な「none」タイプパターン塗りつぶしの生成を修正。問題2014
- 垂直および水平罫線スタイルの欠落を一部のケースで修正。問題2048
- 条件付き書式での罫線スタイルの欠落を一部のケースで修正。問題2061
- ピボットテーブルに関するパニックを一部のケースで修正。問題1954および2051
- GetStyle関数がVertAlign形式を取得できない問題を修正
- CalcCellValue関数でサブ式が正しく計算されない問題を一部のケースで修正。問題2083
- イメージ参照検出の問題により誤った画像が削除される問題を修正
- ストリームライターで行を設定した際に、行スタイルがゼロ以外のデフォルトセルスタイルで上書きされない問題を修正
- ストリームライターによって冗長なcols要素が生成される問題を修正
- チャートタイトルフォント設定時のパニックを修正。問題2102
- 一部のケースで計算チェーン削除時に発生するパニックを修正
- 共有式解析エラーによる不正確な数式計算結果を修正。問題2056
- 内部ZIP64ファイルサイズが4GBを超える場合に破損したワークブックが生成される問題を修正
- シート名変更後の定義済み名におけるシート名エラーを修正。問題2126

### パフォーマンス

- github.com/tiendc/go-deepcopyを使用して、github.com/mohae/deepcopyよりも3倍高速なディープコピーを実装。関連する問題2029
- v2.9.0におけるパフォーマンス回帰を修正し、空白セルに対するトリムセル値のメモリアロケーションを削減
- 数式全体が列および行参照を含む場合の数式計算のパフォーマンスを改善
- 行イテレーターの速度を約20%向上させ、メモリアロケーションを約10%削減

### その他

- 依存モジュールが更新されました
- 単体テストとgodocが更新されました

[ドキュメントサイト](https://xuri.me/excelize)はアラビア語、ドイツ語、英語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語、ロシア語、中国語簡体字、中国語繁体字に対応しており、更新されました。[excelize-wasm](https://github.com/xuri/excelize-wasm) NPMパッケージのWebAssembly / JavaScriptサポート向けリリースも更新されました。

[excelize](https://github.com/xuri/excelize-py) PyPIパッケージのPython向けリリースも更新されました。