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
のデータ型をポインターとして変更します
新機能
- 新しい関数
DeleteSlicer
とGetSlicers
を追加 - ワークブック内のシートの順序変更をサポートする新しい関数
MoveSheet
を追加しました -
GraphicOptions
データ型のサポートに新しいAutoFitIgnoreAspect
フィールドを追加し、セルを画像で塗りつぶし、そのアスペクト比を無視します - チャートのラベル位置を設定するための
ChartAxis
データ型サポートに新しいTickLabelPosition
フィールドを追加します -
PivotTableField
データ型に新しいフィールドShowAll
、InsertBlankRow
、NumFmt
を追加します -
PivotTableOptions
データ型に新しいフィールドClassicLayout
、FieldPrintTitles
、ItemPrintTitles
を追加します - 2 つの新しいエクスポート列挙型
ChartTickLabelPositionType
とPictureInsertType
を導入します - 新しくエクスポートされた
ChartLineUnset
列挙値を導入 - 4 つの定数
ExtURIDataField
、ExtURIPivotField
、ExtURIPivotFilter
、ExtURIPivotHierarchy
を導入します - 新しいエクスポートされたエラー変数
ErrPivotTableClassicLayout
を導入 -
MergeCell
関数は、セルを結合するときにスレーブセルの値をクリアすることをサポートします -
AddDataValidation
、DeleteDataValidation
、GetCellStyle
関数は並行処理をサポートします -
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 へのすべての貢献者に感謝します。