Go 言語スプレッドシートライブラリ:Excelize 2.8.0 がリリースされました
![](https://assets.st-note.com/img/1693309251743-WYlSCvBTbP.jpg?width=1200)
Excelize は、純粋な Go で記述されたライブラリで、XLAM / XLSM / XLSX / XLTM / XLTX ファイルの読み書きを可能にする一連の関数を提供します。Microsoft Excel™ 2007 以降で生成されたスプレッドシートドキュメントの読み取りと書き込みをサポートします。 高い互換性により複雑なコンポーネントをサポートし、大量のデータを含むワークシートからデータを生成または読み取るためのストリーミング API を提供します。
場合によっては、既存の Excel ドキュメントコンテンツの読み込み、新しい Excel ドキュメントの作成、既存のドキュメント(テンプレート)に基づく新しい Excel ドキュメントの生成、Excel ドキュメントへのイメージの挿入、チャートなどの Excel ドキュメントをプログラムで操作する必要があります。 テーブルなどの要素。プラットフォーム間でこれらの操作を実装する必要がある場合があります。Excelize はこれらのニーズを容易に満たすことができます。
オープンソース
GitHub: github.com/xuri/excelize
Doc: xuri.me/excelize/ja
発売日: 2023年8月28日
GitHub Release: https://github.com/xuri/excelize/releases/tag/v2.8.0
リリースノート
このバージョンでの最も注目すべき変更点は次のとおりです:
互換性のヒント
エクスポートされた変数 ErrTableNameLength の名前を ErrNameLength に変更します
エクスポートされたタイプの名前を PaneOptions から Selection に変更します
エクスポートされた Comment データ型の Runs フィールドの名前を Paragraph に変更します
Style データ型の Lang フィールドを削除します
エクスポートされた ChartTitle データ型を削除し、代わりに RichTextRun データ型を使用
DecimalPlaces のデータ型を整数のポインタに変更しました
デフォルトのポイントからピクセルへの変換係数を変更する, 関連する問題 #279 と #1536
AddShape 関数のシグネチャを変更する: func (f *File) AddShape(sheet, cell string, opts *Shape) error を func (f *File) AddShape(sheet string, opts *Shape) error
新機能
新しいエクスポートされたエラー変数 ErrExistsTableName と ErrorFormControlValue を追加します
Options データ型に新しいオプション ShortDatePattern、LongDatePattern、LongTimePattern、CultureInfo を追加しました, 関連する問題 #1199
国コードの新しいエクスポート データ型 CultureName 列挙を追加
新しい関数 GetTables と DeleteTable によるテーブルの取得と削除のサポート, 関連する問題 #674 と #1454
スタイル定義を取得するための新しい関数 GetStyle のサポート, 関連する問題 #314, #1520 と #1521
プレースホルダー、パディング、数値の四捨五入、通貨、アカウンティングを使用したセル値の適用をサポートし、引数の数値形式を切り替え、812 言語タグの日付と時刻の数値形式の適用をサポート, 関連する問題 #660
新たに 10 個の数式関数をサポート: ARRAYTOTEXT, FORECAST, FORECAST.LINEAR, FREQUENCY, INTERCEPT, ODDFYIELD, ODDLPRICE, ODDLYIELD, PROB, VALUETOTEXT
エラーメッセージにファイルパスの長さ制限の詳細を追加
シート ペインとビューの選択を取得するための新しい関数 GetPanes のサポート
新しい関数 AddFormControl、GetFormControls、および DeleteFormControl によるフォーム コントロールのサポート, 関連する問題 #301 と #1169
AddChart 関数は、主要なタイトルの設定をサポートします, 関連する問題 #1553
AddChart 関数は、第 2 系列軸を使用したグラフの作成をサポートします, 関連する問題 #518
AddChart 関数は、グラフのリッチ テキスト タイトルの書式設定と設定をサポートします, 関連する問題 #1588
AddShape 関数の形状タイプのチェックを追加します。形状タイプが指定されていない場合はエラーが返されます
和暦数値形式でフォーマットされたセル値の読み取りをサポート, 関連する問題 #1590
GetPictures 関数は、1 つのセルのアンカー画像の読み取りをサポートします, 関連する問題 #1585
NewConditionalStyle 関数は、数値形式と保護を備えた条件付き書式の作成をサポートします, 関連する問題 #1610
互換性を向上させる
マルチバイト文字を使用したセル値の長さのチェックのサポート, 関連する問題 #1517
重複したテーブルの作成と同じ名前の定義名を防止する
セルのコメント ボックスの形状サイズと KingSoft WPS の互換性を改善しました
シート形式プロパティでデフォルトの列幅へのフォールバックをサポート, 関連する問題 #1536
互換性を向上させるために、内部ワークシート XML パスで大文字と小文字を区別しないようにしました, 関連する問題 #1591
問題の修正
セル値の長さをチェックした後に XML 文字をエスケープし、ストリーム ライターで生成された破損したファイルを修正しました, 関連する問題 #1518, #1519 と #1530
複数行のプレーンテキストコメントの誤ったコメントボックスサイズを修正
テキストセルの値を数値として書式設定しないようにする, 関連する問題 #1523, #1528 と #1533
同時実行安全機能の競合状態を修正
日付時刻の誤ったミリ秒単位の丸めを修正
午前 12 時間の日付と時刻の誤った数値形式の結果を修正
誤った数式関数 SUMIFS および AVERAGEIFS の結果を修正, 関連する問題 #1564
計算エンジンにおける基本的な算術演算子の優先順位の問題を修正, 関連する問題 #1599
数式計算エンジンのクロスワークシート参照の問題を修正
行を削除した後のテーブルの調整の問題を修正, 関連する問題 #1539
1 つのセルで複数の画像を取得するサポート, 関連する問題 #1548
追加した画像の位置が正しくない場合があるのを修正, 関連する問題 #1560
列と行を挿入するときの数式の調整をサポートし、列または行の挿入によって引き起こされるブックの破損を修正します, 関連する問題 #1565
数式関数 CONCAT、CONCATENATE は複数のセル値の連結をサポートします, 関連する問題 #1569
数値結果を返すネストされた引数関数での誤った数式計算結果を修正しました, 関連する問題 #1582
追加された画像が重複する原因となった内部グラフィック オブジェクト カウンタの問題を修正, 関連する問題 #1584
時間の丸めの問題により、読み取り日付時刻セルの結果が誤って発生する問題を修正しました, 関連する問題 #1587
同じ開始軸と終了軸を持つセルを結合した場合のパニックを修正
パフォーマンスの最適化
正規表現呼び出しを最適化してパフォーマンスを向上させる, 関連する問題 #1532
これにより、不必要なバイト/文字列変換が回避されます, 関連する問題 #1541
その他
Go Modules はモジュールの更新に依存しています
変数宣言とエラーリターンステートメントを簡素化する
Unicode 値を使用した組み込み言語数値形式コード マッピングを削除する
内部の xlsxTabColor データ型を削除し、xlsxTabColor の代わりに xlsxColor データ型を使用します
単体テストとドキュメントの更新
簡体字中国語、英語、フランス語、ロシア語、日本語、韓国語、アラビア語、ドイツ語、スペイン語を含む多言語ドキュメントサイトの更新
ありがとうございました
Excelize へのすべての貢献者に感謝します。以下は、このバージョンでコードに貢献した貢献者のリストです。
IAkumaI (Valery Ozarnichuk)
sillydong (Chen Zhidong)
fudali113 (fudali)
Juneezee (Eng Zer Jun)
joehan109
yicixin (壹次心)
vb6iscool
chengcxy (chengxinyao)
lidp20
JDavidVR (David)
fsfsx
cnmlgbgithub