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

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

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

オープンソース

GitHub: github.com/xuri/excelize

ドキュメントリファレンス: xuri.me/excelize/ja

リリースノート

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

互換性のヒント

  • ConditionalFormatOptions 構造体フィールド Format のデータ型をポインターとして変更します

新機能

  • 新しい関数 DeleteSlicerGetSlicers を追加
  • ワークブック内のシートの順序変更をサポートする新しい関数 MoveSheet を追加しました
  • GraphicOptions データ型のサポートに新しい AutoFitIgnoreAspect フィールドを追加し、セルを画像で塗りつぶし、そのアスペクト比を無視します
  • チャートのラベル位置を設定するための ChartAxis データ型サポートに新しい TickLabelPosition フィールドを追加します
  • PivotTableField データ型に新しいフィールド ShowAllInsertBlankRowNumFmt を追加します
  • PivotTableOptions データ型に新しいフィールド ClassicLayoutFieldPrintTitlesItemPrintTitles を追加します
  • 2 つの新しいエクスポート列挙型 ChartTickLabelPositionTypePictureInsertType を導入します
  • 新しくエクスポートされた ChartLineUnset 列挙値を導入
  • 4 つの定数 ExtURIDataFieldExtURIPivotFieldExtURIPivotFilterExtURIPivotHierarchy を導入します
  • 新しいエクスポートされたエラー変数 ErrPivotTableClassicLayout を導入
  • MergeCell 関数は、セルを結合するときにスレーブセルの値をクリアすることをサポートします
  • AddDataValidationDeleteDataValidationGetCellStyle関数は並行処理をサポートします
  • GetDataValidations 関数は、拡張リストに保存されているデータ検証の取得をサポートします
  • SetSheetName 関数は大文字と小文字の区別をサポートします
  • GetPictureCells および GetPictures 関数は、IMAGE 数式関数によって挿入されたセル画像と画像の絶対パスの取得をサポートします
  • GraphicOptions データ型のサポートに新しい AutoFitIgnoreAspect フィールドを追加し、セルを画像で塗りつぶし、そのアスペクト比を無視します
  • SetCellHyperLink 関数は、None リンクタイプによるハイパーリンクの削除をサポートします
  • AddChart 関数は同じタイプのコンボチャートの作成をサポートします
  • AddChart 関数は散布図の線の種類の設定をサポートします
  • AddPivotTable 関数でピボットテーブルを作成するときに、ピボットテーブルのデータ範囲内の列ヘッダーセルが空の場合、エラーが返されます
  • 言語/場所タグと ID を使用して数値書式式を適用するためのサポートを追加
  • 時間と期間のセル値に数値形式を適用するためのサポートを追加
  • 新しいサポート数式機能: DOLLAR

互換性を向上させる

  • 適用数値形式の互換性を向上し、配置付き適用数値形式をサポート
  • スプレッドシートの名前空間プレフィックスを持つワークブックの内部部分の互換性の向上
  • 絶対パスを使用したワークブック内部メディアファイルの互換性を向上

問題の修正

  • v2.8.1 の回帰バグを修正し、LibreOffice で自動フィルターが機能しない
  • v2.8.1 の回帰バグを修正し、複数のセル範囲でデータ検証を調整できるようにサポートしました
  • v2.8.1 の回帰バグを修正し、条件付き書式またはデータ検証に複数のセル範囲参照がある場合、重複行でエラーが発生します。
  • v2.8.1 の回帰バグを修正し、複数回保存すると誤ったセル値が書き込まれる
  • v2.8.1 の回帰バグを修正し、複数のシートにスパーク ラインを作成すると、スパーク ラインが重複する
  • CalcCellValue 関数は、行列引数を持つ数式関数 ISNUMBER、OR、FIND の計算をサポートします
  • CalcCellValue 関数の計算結果の丸め問題を修正
  • CalcCellValue 関数が数式関数 XIRR および XNPV の誤った結果を返す問題を修正しました
  • 列を削除するときに RemoveCol がエラーを返す問題を修正
  • DATE 数式関数の誤った結果データ型を修正
  • r 属性のない内部行要素を含むワークブックの読み取り時に発生するパニックを修正
  • 新しい列や行を挿入するときに数式内の括弧が切り取られる問題を修正
  • 一部のケースで誤ったデータ検証エスケープ結果を修正
  • ストリームライターで一部の文字が表示されない問題を修正
  • 同一ファイルの同じハッシュを維持し、不正な MIME タイプを修正するために、ソートされた内部パーツ パスでワークブックを保存します
  • AddChart 関数の軸フォーマット設定がコンボ チャートで機能しない問題を修正
  • AddChart 関数が誤った主軸タイトルの位置を設定する問題を修正
  • AddChart 関数で設定された第 2 縦軸のタイトルが表示されない問題を修正
  • 折れ線グラフの線の種類を設定する AddChart 関数が機能しない問題を修正
  • GetPivotTables 関数が不正なデータ範囲を返す問題を修正
  • sysClr のないテーマの場合の GetStyle 関数のパニックを修正
  • SST インデックスなしでセルを読み取ると GetCellRichText 関数がエラーを返す問題を修正しました
  • ビューのないシートでの SetSheetVisible 関数のパニックを修正
  • 数値セル値がゼロの場合にフォーマットされた結果でパーセント記号が欠落する問題を修正
  • 負の値を持つ散布図の水平軸が欠落している問題を修正
  • 描画オブジェクトを調整した後に欠落していた図形マクロを修正
  • 列を削除した後に条件付き書式が失われる場合がある問題を修正
  • 小数値の丸めの問題を含むセル値の読み取りを修正
  • IEEE 754 の「非数値」値または無限大でセル値を設定するサポート

パフォーマンスの最適化

  • v2.8.0 の速度低下とメモリ使用量増加の問題を修正
  • GetRows 関数のメモリ使用量を削減する
  • ColumnNumberToName 関数のパフォーマンスを最適化し、メモリ使用量を約 50%、時間コストを約 50% 削減します

その他

  • Go Modules はモジュールの更新に依存しています
  • 単体テストとドキュメントの更新
  • 多言語対応のドキュメント ウェブサイトが更新されました: アラビア語、ドイツ語、英語、スペイン語、フランス語、日本語、韓国語、ポルトガル語、ロシア語、中国語 (簡体字)、中国語 (繁体字)。ドキュメントのイタリア語版を追加しました

ありがとうございました

Excelize へのすべての貢献者に感謝します。