Go 言語スプレッドシートライブラリ：Excelize 2.7.1 がリリースされました

![Go 言語スプレッドシートライブラリ：Excelize 2.7.1 がリリースされました](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144042/fe35dd62-fc33-db32-780e-edf0b7bb7657.png)

Excelize は、純粋な Go で記述されたライブラリで、XLAM / XLSM / XLSX / XLTM / XLTX ファイルの読み書きを可能にする一連の関数を提供します。Microsoft Excel&trade; 2007 以降で生成されたスプレッドシートドキュメントの読み取りと書き込みをサポートします。 高い互換性により複雑なコンポーネントをサポートし、大量のデータを含むワークシートからデータを生成または読み取るためのストリーミング API を提供します。

場合によっては、既存の Excel ドキュメントコンテンツの読み込み、新しい Excel ドキュメントの作成、既存のドキュメント（テンプレート）に基づく新しい Excel ドキュメントの生成、Excel ドキュメントへのイメージの挿入、チャートなどの Excel ドキュメントをプログラムで操作する必要があります。 テーブルなどの要素。プラットフォーム間でこれらの操作を実装する必要がある場合があります。Excelize はこれらのニーズを容易に満たすことができます。

#### オープンソース

**GitHub:** [github.com/xuri/excelize](https://github.com/xuri/excelize)

**Doc:** [xuri.me/excelize/ja](https://xuri.me/excelize/ja/)

* 発売日: 2023年4月10日
* GitHub Release: [https://github.com/xuri/excelize/releases/tag/v2.7.1](https://github.com/xuri/excelize/releases/tag/v2.7.1)

## リリースノート

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

### 互換性のヒント

* `ChartLine` データ型の `Color` フィールドを削除します
* データ型 `ShapeParagraph` を `RichTextRun` に置き換えます
* タイプ `Shape` から `Color` フィールドを削除し、代わりに `Fill` を使用します
* エクスポートされた型 `AutoFilterListOptions` を削除します
* エクスポートされた型の名前を `TableOptions` から `Table` に変更します
* `AddChart` 関数では、チャート タイプを指定するために `ChartType` 列挙値を使用する必要があります
* 7 つの関数のシグネチャを変更する，具体的な変更の詳細については、公式ドキュメントを参照してください

### 新機能

* ワークブックのディメンションをサポートするための新しい関数 `SetSheetDimension` および `GetSheetDimension` を追加, 関連する問題 #1463
* 17 種類の塗りつぶしバリアント スタイルの作成をサポートする `NewStyle` 関数
* セル スタイルの上限を 65430 に増やします
* `AddPicture` 関数で BMP 形式の画像を挿入できるようになりました
* セル内の複数の画像を取得するための `GetPictures` 関数のサポート
* `SetConditionalFormat` 関数は、「true の場合停止」または「アイコン セット」ルールを使用した条件付き書式の作成をサポートします
* `SetConditionalFormat` 関数は、境界線の色を設定し、カラー データ バーの単色を作成することをサポートします, 関連する問題 #1462
* `AddChart` 関数は、チャート データ シリーズの塗りつぶしのフォーマットを設定することをサポートします, 関連する問題 #1474
* `AddChart` 関数は、データ系列のバブル サイズを設定することをサポートします
* 円グラフの棒/円の 2 番目のプロットの値を指定するための `AddChart` 関数のサポート
* チャート データ ラベルと軸の数値形式を設定するための `AddChart` 関数のサポート, 関連する問題 #1499
* テーブルの作成時にテーブルのヘッダー行を表示するかどうかを指定するための `AddTable` 関数のサポート
* `AddTable` 関数がテーブル名の検証をサポートし、新しいエラー定数 `ErrTableNameLength` が追加されました, 関連する問題 #1468
* 自動フィルターの作成時に複数のフィルター列を追加するための `AutoFilter` 機能のサポート
* `CalcCellValue` 関数は、セルの計算結果に数値形式スタイルを適用するかどうかを指定することをサポートします
* `CalcCellValue` 関数は、数式関数の 2 バイト文字をサポートします: LEFT, LEN, LENB, MID, MIDB, RIGHT, RIGHTB, 関連する問題 #1476
* `CalcCellValue` 関数は結果で数式エラー文字列を返すようになり、エラー メッセージを使用するとエラーが返されます, 関連する問題 #1490
* 画像ファイル拡張子名の大文字と小文字を区別しない, 関連する問題 #1503
* nil 値を取得した場合、ストリーム ライターはセル値の設定をスキップします, 関連する問題 #756
* `GetCellHyperLink` 関数は、結合されたセルのセル ハイパーリンクの取得をサポートします
* グラフ タイプの列挙を表す新しいエクスポート データ タイプ `ChartType` を追加

### 互換性を向上させる

* ワークブック関数グループのサポートを追加
* 厳密なテーマ名前空間のサポートを追加, 関連する問題 #1447
* ワークブックの関係部分が存在しないことによるパニックを修正
* 空白文字を含む SST インデックスとの互換性を向上, 関連する問題 #1508

### 問題の修正

* 場合によっては、10 進数形式の丸めの問題を修正します
* 文字列セルを時刻番号で変更するときの誤ったセル タイプを修正します, 関連する問題 #1464
* セルリゾルバーが誤った計算結果を引き起こしたのを修正, 関連する問題 #1469
* 条件付き書式データ バーの最小値/最大値が機能しない問題を修正, 関連する問題 #1492
* 0 行の高さと列幅をサポート, 関連する問題 #1461

### パフォーマンスの最適化

* 月名を使用した数値形式の適用のパフォーマンスを向上させる, 関連する問題 #1455
* 結合セルのチェックを高速化, 関連する問題 #1448

### その他

* [excelize-wasm](https://github.com/xuri/excelize-wasm) NPM パッケージという名前の Go Excelize ライブラリの純粋な WebAssembly / Javascript ポートは、本番環境ですぐに使用できます
* Go Modules はモジュールの更新に依存しています
* 単体テストとドキュメントの更新
* 変数と関数での特殊名の使用
* 簡体字中国語、英語、フランス語、ロシア語、日本語、韓国語、アラビア語、ドイツ語、スペイン語を含む多言語ドキュメントサイトの更新

### ありがとうございました

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

* liron-l (Liron Levin)
* nathj07 (Nathan Davies)
* Josh-Weston (Josh Weston)
* jaby
* FlowingSPDG (Shugo Kawamura)
* barismar (Baris Mar Aziz)
* doingNobb (张涛)
* rpoetrap (Rizki Putra)
* huangshaokun
* CHANTXU64 (ChantXu64)
* playGitboy