xuri’s blog

https://xuri.me

Excelize オープンソース化10周年、バージョン2.11.0をリリース

Excelize オープンソース化10周年、バージョン2.11.0をリリース
Excelize オープンソース化10周年、バージョン2.11.0をリリース

Excelize は、Office Excel スプレッドシートドキュメントを操作するためのオープンソースの基盤ライブラリであり、ECMA-376 および ISO/IEC 29500 国際標準に準拠しています。これを使用することで、Excel、WPS、OpenOffice などのオフィスソフトで作成されたスプレッドシートドキュメントの読み込みおよび書き込みが可能です。

XLAM / XLSM / XLSX / XLTM / XLTX など多様なドキュメント形式をサポートしているほか、スタイル、画像(グラフ)、ピボットテーブル、スライサーといった複雑なコンポーネントを含むドキュメントと高い互換性を備えています。さらに、大規模データを含むワークブックを処理するためのストリーミング読み書き機能も提供しています。

各種レポートプラットフォーム、クラウドコンピューティング、エッジコンピューティングなどのシステムに幅広く応用可能です。

オープンソース

GitHub: github.com/xuri/excelize

Doc: xuri.me/excelize/ja

GitHub における Excelize のスター数推移

GitHub における Excelize のスター数推移
GitHub における Excelize のスター数推移

2026年7月7日、Excelize のオープンソース化10周年という節目に、コミュニティよりバージョン 2.11.0 が正式にリリースされました。本バージョンには、新機能の追加、バグ修正、互換性の向上および最適化など、40 以上のアップデートが含まれています。世界中から 27 名の開発者が本リリースにコードをコントリビュートしました。

以下は本バージョンのアップデート内容の概要です。今回のリリースにおける主な変更点は以下の通りです:

リリースノート

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

互換性のヒント

  • 要件更新:依存パッケージ golang.org/x/net のアップグレードに伴い、Go 言語バージョン 1.25.0 以上が必要になりました
  • AddChartAddChartSheetAddShape 関数の破壊的変更
    • ChartTitle フィールドのデータ型を []RichTextRun から ChartTitle に変更
    • ShapeLine フィールドのデータ型を ShapeLine から LineOptions に変更
    • データ型 ChartDashTypeLineDashType に改名
    • データ型 ChartLineTypeLineType に改名
    • データ型 ChartLineLineOptions に改名

セキュリティ

  • 無制限のメモリ割り当てを防ぐため、ワークシート読み取り時に行番号を検証するようになりました (CVE-2026-54063)、関連するセキュリティアドバイザリ GHSA-h69g-9hx6-f3v4
  • ワークシートの行番号がオーバーフローの最大制限を超えていないことを検証することで、攻撃者が制御するメモリ割り当てを防止 (CVE-2026-59161)、関連するセキュリティアドバイザリ GHSA-q5j5-6p94-4gwc
  • 共有文字列テーブルの無効なインデックスでセル値を取得する際のパニックを防止 (CVE-2026-59162)、関連するセキュリティアドバイザリ GHSA-fx5j-qcqg-grpf

新機能

  • 新しいデータ型 ChartTitle を追加
  • 新しいデータ型 PivotTableShowValuesAs を追加
  • 新しい列挙型 PivotTableShowValuesAsType を追加
  • 3 つの新しいエクスポートエラー変数を追加:ErrPivotTableShowValuesAsBaseFieldErrPivotTableShowValuesAsBaseItemErrUnsupportedPivotTableShowValuesAsType
  • データ型 PivotTableField に新しいフィールド ShowValuesAs を追加
  • データ型 PivotTableOptionsSlicerOptions に新しいフィールド SelectedItems を追加
  • 列幅の自動調整をサポートする新しい関数 AutoFitColWidth を追加, 関連する問題 92
  • SetSheetName 関数が無効なソース名のシートの名前変更を許可するよう修正, 関連する問題 548
  • CalcCellValue 関数でチルダワイルドカード条件をサポート
  • CalcCellValue 関数で暗黙的な共通部分をサポートし、正規表現条件のアンカリングを修正
  • CalcCellValue 関数でシート範囲をまたぐ 3D 参照をサポート, 関連する問題 2303
  • CalcCellValue 関数でセルの生の値を含む数式計算結果の返却をサポート, 関連する問題 2316
  • AddPivotTable 関数で、同じデータフィールドがピボットテーブルの列・行・フィルターフィールドに同時に含まれているかどうかの検証をサポートし、破損したワークブックの生成を防止
  • AddPivotTableGetPivotTables 関数でピボットテーブルデータフィールドの「値の表示形式」の設定・取得をサポート, 関連する問題 2340
  • AddPivotTableAddSlicerGetPivotTablesGetSlicers 関数でピボットテーブルおよびピボットテーブルスライサーの選択済みアイテムの設定・取得をサポート, 関連する問題 2154
  • AddChartAddChartSheet 関数で数式を使用したグラフタイトルの設定をサポート
  • AddChartAddChartSheet 関数でグラフタイトルおよびグラフ軸タイトルのレイアウト設定をサポート
  • AddChartAddChartSheet 関数でグラフタイトルおよびグラフ軸タイトルの線の書式設定をサポート
  • AddShape 関数で図形の線の書式設定をサポート
  • NewStyle 関数で単色塗りつぶしスタイルを作成する際に、カスタムカラー値が指定されていない場合の前景色・背景色の自動設定をサポート

互換性の向上

  • グラフシートで Excel Online および KingSoft WPS™ Office にグラフが表示されない問題を修正, 関連する問題 2273

問題の修正

  • v2.8.1 のリグレッション問題を修正 1383
  • フィルシリーズなしのグラフを追加する際に AddChart 関数がパニックになる問題を修正
  • 一部のケースで無効な行参照時に CalcCellValue 関数がパニックになる問題を修正, 関連する問題 2266
  • CalcCellValue 関数使用時に数式の完全一致テキストマッチングがサブ文字列にマッチしない問題を修正
  • CalcCellValue 関数における数式関数 BINOM.INV、CHIINV、CHISQ.DIST、IMSECH、IMSQRT、NEGBINOM.DIST の計算精度の問題を修正
  • 一部のケースで CalcCellValue 関数が FREQUENCY の計算結果を誤って返す問題を修正
  • 括弧または演算子内にエラー値が含まれる場合に CalcCellValue 関数が誤った計算結果を返す問題を修正, 関連する問題 2344
  • 著者が既に著者リストに存在する場合に AddComment 関数がすべてのコメントに誤った著者 ID を割り当てる問題を修正, 関連する問題 2289
  • エラーを返す前にファイルアンロッカーが呼び出されないことによるデッドロックの可能性を修正
  • カスタム数値書式でコンマスケーリングが正しく適用されない問題を修正, 関連する問題 2297
  • 列イテレーターで無効なワークシート XML を含む破損したワークブックを読み取る際にパニックが発生する問題を修正, 関連する問題 2299
  • 外部参照を含む数式を調整した後にシングルクォートが欠落する問題を修正
  • 一部のケースで ECMA-376 Agile 暗号化と SHA512 ハッシュアルゴリズムで保護されたワークブックの復号に失敗する問題を修正, 関連する問題 2328
  • SetCellFormula 関数が通常の数式で上書きする際に共有数式メタデータをクリアしない問題を修正, 関連する問題 2337

パフォーマンスの最適化

  • 暗号化されていないワークブックの読み取り時のメモリ使用量を削減し、行イテレーターのメモリ使用量を最大 85% 削減
  • 座標変換および一部の内部関数のパフォーマンスを最適化
    • ColumnNumberToName 関数のメモリ割り当てを約 90% 削減
    • CoordinatesToCellName 関数のメモリ割り当てを約 13% 削減
    • 内部関数 isNumeric のメモリ割り当てを約 68% 削減

その他

  • Go Modules はモジュールの更新に依存しています
  • 単体テストとドキュメントの更新
  • 多言語対応のドキュメント ウェブサイトが更新されました: アラビア語、ドイツ語、英語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語、ロシア語、中国語 (簡体字)、中国語 (繁体字)
  • excelize-wasm WebAssembly / JavaScript サポート向け NPM パッケージリリースアップデート
  • excelize Python 向け PyPI パッケージリリースアップデート
  • ExcelizeCs C# 向け NuGet .Net パッケージリリースアップデート

ありがとうございました

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

  • Rynzie02 (Rynzie)
  • jpoz (James Pozdena)
  • tvso (Tammy)
  • yyt030 (yyt)
  • hwo411 (Igor Khodyrev)
  • JimLee0921 (TuoLee)
  • zhuyanhuazhuyanhua (zhuhua)
  • kenny-not-dead (Roman Sergeev)
  • debugdoctor (Debug Doctor)
  • Journeyman150 (Vladislav Anisimov)
  • ivolkoff (Ivan Volkov)
  • plandem (Andrey G.)
  • martskins
  • shcabin
  • narasaka (Nathanael Tehilla Gunawan)
  • lawrence3699 (chaoliang yan)
  • SAY-5 (Sai Asish Y)
  • noahchiu22 (Noah)
  • rootsec1 (Abhishek Murthy)
  • guangxuewu
  • AdamDrewsTR (Adam Drews)
  • grmblfrz (Swen Thümmler)
  • WaterRRabbit
  • krystophny (Christopher Albert)
  • Aprax14 (Damiano Scarpellini)
  • artur-chopikian (Artur Chopikian)
  • huijian3139 (Jason)

『Excelize完全ガイド』

『Excelize完全ガイド』(簡体字中国語版)は、Excelizeライブラリの基本的な使い方を紹介するだけでなく、高度な機能や応用シナリオについても深く掘り下げています。本書は、「入門ガイド」「基礎ライブラリ設計の概要」「Excelize詳解」「高性能ストリーミング読み書き技術」「実践応用」の全5編から構成されています。本書を通じて、Go言語とExcelizeライブラリを活用し、Excelファイルの自動処理、複雑なデータ分析、レポート作成といったタスクを実現する方法を習得できます。

もはや従来のExcel操作に縛られることはありません。プログラミングの力でExcelの新たな可能性を切り拓き、よりスマートかつ効率的なデータ処理ソリューションを構築できるようになるでしょう。

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

画像にalt属性を指定する(上級者向け)
Go 言語スプレッドシートライブラリ:Excelize 2.10.1 がリリースされました

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

Excelize は v2.10.1 をリリースしました。このバージョンには、新機能、バグ修正、互換性向上など、40 以上のアップデートが含まれています。29 開発者がこのバージョンのコードに貢献しました。

リリースノート

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

互換性のヒント

3つのエクスポートされたエラー変数が削除されました: ErrStreamSetColStyleErrStreamSetColWidthErrStreamSetPanes

新機能

  • ChartDataPoint データ型を追加
  • ChartSeriesDataPoint フィールドを追加
  • ChartAxisDropLinesHighLowLines フィールドを追加
  • GraphicOptionsName フィールドを追加
  • 2つの定数を追加: MaxGraphicAltTextLengthMaxGraphicNameLength
  • 7つのエクスポートされたエラー変数を追加: ErrFillTypeErrFillGradientColorErrFillGradientShadingErrFillPatternColorErrFillPatternErrMaxGraphicAltTextLengthErrMaxGraphicNameLength
  • ハイパーリンクセルを取得するためのエクスポート関数 GetHyperLinkCells を追加。関連する問題 1607
  • シート保護設定を取得するためのエクスポート関数 GetSheetProtection を追加
  • AddComment 関数は、すでにコメントがあるセルにコメントを追加するとエラーを返すようになりました
  • ICO 画像の挿入サポートを追加。関連する問題 2234
  • CalcCellValue 関数が2つの数式関数をサポート: SORTBY と UNIQUE
  • AddChartAddChartSheet 関数がドーナツ、円グラフ、3D 円グラフのデータポイント色の設定をサポート。関連する問題 1904
  • AddChart 関数が東アジアおよび複雑なスクリプトフォントのフォントファミリー設定をサポート
  • AddChart 関数が面グラフと折れ線グラフのドロップライン(降下線)と高低線をサポート
  • GetPictures 関数が部分的な書式設定プロパティを返せるようになりました。関連する問題 2157
  • ストリーミングライターに列の表示/非表示を設定する SetColVisible 関数を追加。関連する問題 2075
  • ストリーミングライターに列のグループ化を行う SetColOutlineLevel 関数を追加。関連する問題 2212
  • AddShapeAddSlicer 関数が図形とスライサーの1セルアンカー配置をサポート
  • GetSlicers 関数が1セルアンカー配置のスライサーの取得をサポート
  • SetConditionalFormatGetConditionalFormatsUnsetConditionalFormat 関数が 3 つの三角形、3 つの星、5 つのボックスのアイコンセット条件付き書式をサポート。関連する問題 2038
  • UnsetConditionalFormat 関数がセル範囲内の特定のセルに対する条件付き書式ルールまたはデータ検証の削除をサポート
  • AddPictureAddPictureFromBytes 関数が画像名の設定をサポート
  • AddChartAddShape 関数がグラフと図形の名前と代替テキストの設定をサポート
  • AddSlicer 関数がスライサーの代替テキストの設定をサポート
  • グラフィック名と代替テキストの長さの検証を追加; 長さが制限を超えるとエラーを返す
  • UTF-16対応の長さチェックと切り詰め機能を追加

互換性の向上

  • 保存時に空の行を削除し、生成されるワークブックファイルサイズを削減

問題の修正

  • GetCellValueGetRows 関数が空文字列に対して共有文字列インデックスを返す v2.10.0 の回帰を修正。関連する問題 2240
  • 一部のケースでピボットテーブル取得時に GetPivotTables がパニックする問題を修正
  • 中国語の月名を含む特定の数値書式コードでセル値を読み取る際のパニックを修正。関連する問題 2224
  • 一部のケースで暗号化されたワークブックを開く際のパニックを修正。関連する問題 2237
  • ストリーミングライターの SetRow 関数使用時に列スタイルが欠落する問題を修正
  • 一部のセル画像を返さない GetPictures を修正
  • ライトテーマカラーインデックスのオーバーフローによるワークブック破損を修正
  • 順序付けられていないセル参照でデータ検証セル範囲を誤って更新する DeleteDataValidation を修正
  • 期間条件付き書式ルール設定時に破損したワークブックを生成する SetConditionalFormat を修正
  • シート名からシングルクォートを削除することで一部のケースで参照解決に失敗する CalcCellValue を修正
  • デフォルトのフォントまたは塗りつぶし使用時に重複スタイルを作成する NewStyle を修正。関連する問題 2254

パフォーマンスの最適化

  • 計算キャッシュの追加と実際のデータ範囲への処理制限により CalcCellValue を最適化。関連する問題 2057 および 2223
  • VLOOKUPCalcCellValue 数式評価を最適化し、メモリ使用量と実行時間を約50%削減。関連する問題 2139
  • 結合セル範囲のオーバーラップチェックの高速化とメモリ使用量の削減により GetMergeCells を最適化。関連する問題 2226
  • 連分数漸化式を使用した変換により数値書式コードの適用を最適化

その他

  • Go Modules はモジュールの更新に依存しています
  • 単体テストとドキュメントの更新
  • 多言語対応のドキュメント ウェブサイト: アラビア語、ドイツ語、英語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語、ロシア語、中国語 (簡体字)、中国語 (繁体字)
  • excelize-wasm WebAssembly / JavaScript サポート向け NPM パッケージリリースアップデート
  • excelize Python 向け PyPI パッケージリリースアップデート
  • ExcelizeCs C# 向け NuGet .Net パッケージリリースアップデート

ありがとうございました

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

  • pjh591029530 (Simmons25)
  • Sang-Hyuk (SangHyuk)
  • wangacc
  • kenny-not-dead (Roman Sergeev)
  • pegasscience-cyber
  • jesusfelix951-lang
  • felixdevelopper-hue
  • shcabin
  • radam9
  • sqdtss
  • IvanHristov98 (Ivan Hristov)
  • yasarluo (Yasar Luo)
  • DengY11 (Yi Deng)
  • Kingson4Wu (Kingson4Wu)
  • zhuzhengyang (Zhu Zhengyang)
  • schbook
  • rhinewg
  • jpoz (James Pozdena)
  • sides-flow (Sides)
  • t4traw (Tatsuro Moriyama)
  • ijustyce (杨春)
  • d9c4
  • imirkin (Ilia Mirkin)
  • atmngw (Atsuki)
  • Flashcqxg
  • olivere (Oliver Eilhard)
  • susautw (Su, Rin)
  • ohauer (Olli Hauer)
  • yan00353-0729

『Excelize完全ガイド』

『Excelize完全ガイド』(簡体字中国語版)は、Excelizeライブラリの基本的な使い方を紹介するだけでなく、高度な機能や応用シナリオについても深く掘り下げています。本書は、「入門ガイド」「基礎ライブラリ設計の概要」「Excelize詳解」「高性能ストリーミング読み書き技術」「実践応用」の全5編から構成されています。本書を通じて、Go言語とExcelizeライブラリを活用し、Excelファイルの自動処理、複雑なデータ分析、レポート作成といったタスクを実現する方法を習得できます。

もはや従来のExcel操作に縛られることはありません。プログラミングの力でExcelの新たな可能性を切り拓き、よりスマートかつ効率的なデータ処理ソリューションを構築できるようになるでしょう。

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

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

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

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

Excelize は v2.10.0 をリリースしました。このバージョンには、新機能、バグ修正、互換性向上など、40 以上のアップデートが含まれています。18 開発者がこのバージョンのコードに貢献しました。

オープンソース

リリースノート

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

互換性のヒント

  • 依存パッケージ golang.org/x/crypto のアップグレードに伴い、Go 言語のバージョン要件が 1.24.0 以降に更新されました

新機能

  • 新しいエクスポートされたエラー変数 ErrTransparency を追加
  • 新しいデータ型 ChartDashType、CustomProperty、ZipWriter を追加
  • データ型 ChartMarker に新しいフィールド Border を追加
  • データ型 ChartLegend に新しいフィールド Font を追加
  • データ型 ChartSeries に新しいフィールド Legend を追加
  • データ型 Fill に新しいフィールド Transparency を追加
  • データ型 ChartLine に新しいフィールド Dash と Fill を追加
  • データ型 Options に新しいフィールド TmpDir を追加。テンポラリファイル作成用のカスタム一時ディレクトリ指定をサポート。関連する問題 2024
  • データ型 Font に新しいフィールド Charset を追加。スプレッドシート生成時にフォントのエンコーディングを明示的に指定可能
  • 新しい関数 GetCustomProps と SetCustomProps を追加。ワークブックのカスタムプロパティの取得と設定をサポート。関連する問題 2146
  • 新しい関数 SetZipWriter を追加。カスタムZIPライターの設定をサポート。関連する問題 2199
  • 関数 GetMergeCells にオプションパラメータ withoutValues を追加
  • 関数 DeleteDataValidation が拡張リスト内のデータ検証削除をサポート。複数のセル範囲を参照シーケンススライスまたは空白区切りの参照文字列で指定可能。関連する問題 2133
  • 関数 AddChart がグラフの破線とマーカーの枠線タイプの設定をサポート
  • 関数 AddChart がグラフの凡例にフォントを設定可能に。関連する問題 2169
  • 関数 AddChart と AddChartSheet は、4 種類の箱ひげ株価チャート: 高値-安値-終値、始値-高値-安値-終値、出来高-高値-安値-終値、出来高-始値-高値-安値-終値の作成をサポートします
  • 関数 CalcCellValue は、BAHTTEXT 数式関数をサポートします
  • フォントサイズが最小値未満の場合、スタイル作成時にデフォルトサイズへのフォールバックをスキップ
  • ヒジュラ暦とグレゴリオ暦による数値フォーマットコードの解析をサポート
  • グラフや図形に対する透明度の設定をサポート。関連する問題 2176
  • 以下の 8 言語での数値フォーマット適用をサポート: コルシカ語、クロアチア語、クロアチア語(ラテン語)、チェコ語、デンマーク語、ディベヒ語、オランダ語、ゾンカ語

互換性の向上

  • Apple Numbers との互換性向上のため、セルの数式設定時に先頭の等号記号をすべて削除。関連する問題 2145
  • ワークブック内部の関係パーツで相対パスを使用

問題の修正

  • v2.9.1 の回帰バグを修正。ARMv7 アーキテクチャでのビルド失敗を解消。関連する問題 2132
  • 数値フォーマットパーサーが末尾の空リテラルを削除していた問題を修正
  • 無効なオフセット範囲で文字列アイテム取得時に発生するパニックを修正。関連する問題 2019、2150
  • サポートされていないピボットテーブルキャッシュソースタイプの読み込み時に発生するパニックを修正。関連する問題 2161
  • 文字数制限チェック時の文字数カウントが不正だった問題を修正。単一ルーンとしてカウントするよう変更。関連する問題 2167
  • Mac版Excelでピボットテーブル追加時にワークブックが破損する問題を修正。関連する問題 2180
  • チベット語の数値フォーマットコードを含むセル読み込み時の月名略称の誤りを修正
  • 特殊な日付フォーマットの結果が Excel と一致しない問題を修正。関連する問題 2192

パフォーマンスの最適化

  • GetSheetDimension 関数をストリームモードでワークシート XML を解析するよう最適化。約 95% の高速化、約 96% のメモリ使用量削減

その他

  • Go Modules はモジュールの更新に依存しています
  • 単体テストとドキュメントの更新
  • 多言語対応のドキュメント ウェブサイトが更新されました: アラビア語、ドイツ語、英語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語、ロシア語、中国語 (簡体字)、中国語 (繁体字)
  • excelize-wasm WebAssembly / JavaScript サポート向け NPM パッケージリリースアップデート
  • excelize Python 向け PyPI パッケージリリースアップデート
  • ExcelizeCs C# 向け NuGet .Net パッケージリリースアップデート
  • Excelize 用に設計された新しいロゴ

ありがとうございました

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

  • DengY11 (Yi Deng)
  • JerryLuo-2005
  • aliavd1 (Ali Vatandoost)
  • xiaoq898
  • Now-Shimmer
  • Jameshu0513
  • mengpromax (MengZhongYuan)
  • Leopard31415926
  • hongjr03 (Hong Jiarong)
  • juefeng
  • black-butler
  • Neugls
  • Leo012345678
  • a2659802
  • torotake
  • crush-wu
  • zhuyanhuazhuyanhua
  • shcabin

『Excelize完全ガイド』

『Excelize完全ガイド』(簡体字中国語版)は、Excelizeライブラリの基本的な使い方を紹介するだけでなく、高度な機能や応用シナリオについても深く掘り下げています。本書は、「入門ガイド」「基礎ライブラリ設計の概要」「Excelize詳解」「高性能ストリーミング読み書き技術」「実践応用」の全5編から構成されています。本書を通じて、Go言語とExcelizeライブラリを活用し、Excelファイルの自動処理、複雑なデータ分析、レポート作成といったタスクを実現する方法を習得できます。

もはや従来のExcel操作に縛られることはありません。プログラミングの力でExcelの新たな可能性を切り拓き、よりスマートかつ効率的なデータ処理ソリューションを構築できるようになるでしょう。

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

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

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

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

約 7 か月の準備期間を経て、Excelize は v2.9.1 をリリースしました。このバージョンには、新機能、バグ修正、互換性向上など、50 以上のアップデートが含まれています。20 人以上の開発者がこのバージョンのコードに貢献しました。

オープンソース

GitHub: github.com/xuri/excelize

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

リリースノート

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

互換性のヒント

  • 依存パッケージ golang.org/x/crypto のアップグレードに伴い、Go 言語のバージョン要件が 1.23 以降に更新されました
  • DataValidationTypeDataValidationErrorStyleDataValidationOperatorPictureInsertType のデータ型が int から byte に変更されました
  • SetCellInt 関数は int64 型のパラメータを要求するようになり、問題 2068 が解決されました
  • 画像、グラフ、図形、フォームコントロールなどの描画オブジェクトを追加する場合、オフセット設定は描画オブジェクトのサイズに影響しなくなりました, 関連する問題 2001

新機能

  • Chart データ型に新しいフィールド GapWidthOverlap を追加しました
  • ChartPlotArea データ型に新しいフィールド ShowDataTableShowDataTableKeys を追加しました
  • ChartAxis データ型に新しいフィールド Alignment を追加しました
  • ChartSeries データ型に新しいフィールド DataLabel を追加しました
  • PageLayoutOptions データ型に新しいフィールド PageOrder を追加しました
  • 2 つの新しいエクスポート済みエラー変数 ErrPageSetupAdjustToErrStreamSetColStyle を追加しました
  • 2 つの新しいエクスポート済み列挙体 HeaderFooterImagePositionTypeIgnoredErrorsType を追加しました
  • 2 つの新しいエクスポート済みデータ型 CalcPropsOptionsHeaderFooterImageOptions を追加しました
  • ワークブックの計算プロパティの設定と取得をサポートする 2 つの新しい関数 SetCalcPropsGetCalcProps を追加しました
  • 日本の暦年、韓国のダンキ暦、中国民国の年の数値フォーマットの適用をサポートするため、新たに CultureNameJaJPCultureNameKoKRCultureNameZhTW の列挙値を追加しました, 関連する問題 1885
  • ヘッダーおよびフッターにグラフィックを設定するための新しい関数 AddHeaderFooterImage を追加しました, 関連する問題 1395
  • セル範囲内のエラーを無視する機能をサポートするための新しい関数 AddIgnoredErrors を追加しました, 関連する問題 2046
  • ストリーミングライターで列のスタイルを設定するための新しい関数 SetColStyle を追加しました, 関連する問題 2075
  • AddChart および AddChartSheet 関数は、チャート軸のテキストの向きと回転の設定をサポートするようになりました, 関連する問題 2025
  • AddChart および AddChartSheet 関数は、棒グラフおよび縦棒グラフにおけるギャップ幅とオーバーラップの設定をサポートするようになりました, 関連する問題 2033
  • AddChart および AddChartSheet 関数は、チャートシリーズのデータラベルの書式設定をサポートするようになりました, 関連する問題 2052
  • AddChart および AddChartSheet 関数は、チャートのデータテーブルの設定をサポートします, 関連する問題 2117
  • AddFormControl 関数はチェックボックスのセルリンクの設定をサポートします, 関連する問題 2113
  • SetPageLayout 関数は、ページレイアウトのページ順序の設定をサポートします
  • DeletePicture 関数は、セルにアンカーされた画像の削除をサポートします, 関連する問題 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/mohae/deepcopy の代わりに、3 倍高速な deepcopy ライブラリ github.com/tiendc/go-deepcopy を使用します, 関連する問題 2029
  • v2.9.0 でのパフォーマンスの回帰を修正し、空白セルのトリムセル値のメモリ割り当てを削減しました
  • 数式に列全体と行全体の参照が含まれている場合の計算数式のパフォーマンスを向上
  • 行イテレータの速度が約 20% 向上し、メモリ割り当てが約 10% 削減されました

その他

  • Go Modules はモジュールの更新に依存しています
  • 単体テストとドキュメントの更新
  • 多言語対応のドキュメント ウェブサイトが更新されました: アラビア語、ドイツ語、英語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語、ロシア語、中国語 (簡体字)、中国語 (繁体字)
  • excelize-wasm WebAssembly / JavaScript サポート向け NPM パッケージリリースアップデート
  • excelize Python 向け PyPI パッケージリリースアップデート

ありがとうございました

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

  • wushiling50
  • imirkin (Ilia Mirkin)
  • Juneezee (Eng Zer Jun)
  • Arpelicy
  • zhuhaicity (ZhuHaiCheng)
  • xxf0512 (xxf)
  • gypsy1234
  • mengpromax (MengZhongYuan)
  • hly-717
  • kurtinge (Kurt Inge Smådal)
  • IvanHristov98 (Ivan Hristov)
  • artur-chopikian (Artur Chopikian)
  • romanshevelev (Roman Shevelev)
  • LZCZ
  • hm3248
  • moisespsena (Moises P. Sena)
  • paolobarbolini (Paolo Barbolini)
  • timesince
  • shcabin
  • tgulacsi (Tamás Gulácsi)
  • R3dByt3 (R3dByt3)
  • Now-Shimmer

『Excelize完全ガイド』

『Excelize完全ガイド』(簡体字中国語版)は、Excelizeライブラリの基本的な使い方を紹介するだけでなく、高度な機能や応用シナリオについても深く掘り下げています。本書は、「入門ガイド」「基礎ライブラリ設計の概要」「Excelize詳解」「高性能ストリーミング読み書き技術」「実践応用」の全5編から構成されています。本書を通じて、Go言語とExcelizeライブラリを活用し、Excelファイルの自動処理、複雑なデータ分析、レポート作成といったタスクを実現する方法を習得できます。

もはや従来のExcel操作に縛られることはありません。プログラミングの力でExcelの新たな可能性を切り拓き、よりスマートかつ効率的なデータ処理ソリューションを構築できるようになるでしょう。

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

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 へのすべての貢献者に感謝します。

『Excelize完全ガイド』

『Excelize完全ガイド』(簡体字中国語版)は、Excelizeライブラリの基本的な使い方を紹介するだけでなく、高度な機能や応用シナリオについても深く掘り下げています。本書は、「入門ガイド」「基礎ライブラリ設計の概要」「Excelize詳解」「高性能ストリーミング読み書き技術」「実践応用」の全5編から構成されています。本書を通じて、Go言語とExcelizeライブラリを活用し、Excelファイルの自動処理、複雑なデータ分析、レポート作成といったタスクを実現する方法を習得できます。

もはや従来のExcel操作に縛られることはありません。プログラミングの力でExcelの新たな可能性を切り拓き、よりスマートかつ効率的なデータ処理ソリューションを構築できるようになるでしょう。

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

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

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

リリースノート

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

互換性のヒント

  • アップグレード要件 Go 言語バージョンは 1.18 以降、依存関係パッケージ XXX のアップグレード用 golang.org/x/net
  • HeaderFooterOptions 構造体フィールドの AlignWithMargins および ScaleWithDoc のデータ型をポインターとして変更します
  • 未使用のエクスポートされたデータ構造 ShapeColor を削除します

新機能

  • 新しいエクスポート関数 SetCellUint を追加
  • すべての画像セルを取得するための新しいエクスポート関数 GetPictureCells を追加
  • 条件付き書式スタイル定義を取得するための新しいエクスポート関数 GetConditionalStyle を追加
  • ワークシートのヘッダーとフッターを取得するための新しいエクスポート関数 GetHeaderFooter を追加
  • テーブルとピボットテーブルのスライサーを追加するための新しいエクスポート関数 AddSlicer を追加
  • ピボット テーブルを取得するための新しいエクスポート関数 GetPivotTables を追加
  • ピボット テーブルを削除するための新しいエクスポート関数 DeletePivotTable を追加
  • ピボット テーブル名の指定をサポートするために、PivotTableOptions に新しい Name フィールドを追加します
  • 新たに 7 個の数式関数をサポート: DBCS, SEARCH, SEARCHB, TEXT, TEXTAFTER, TEXTBEFORE と xlfn.ANCHORARRAY
  • グラフの線の種類を指定するためのエクスポート ChartLineType 列挙を追加します
  • Chart データ型に新しい Border フィールドを追加して、グラフ領域の境界線を設定します
  • 線の種類を設定するために、ChartLine タイプに新しい Type フィールドを追加します
  • 新しいエクスポートされたソース関係と名前空間 NameSpaceSpreadSheetXR10, ContentTypeSlicer, ContentTypeSlicerCache, および SourceRelationshipSlicer を追加します
  • 新しいエクスポートされた拡張 URI ExtURIPivotCacheDefinition を追加します
  • 定義名、テーブル名、またはピボット テーブル名にドット文字を使用できるようにする
  • テーブルを削除するときにテーブル範囲内のすべてのセルの値を保持する
  • 分数形式コードを使用したセル値の形式のサポート
  • 生成されるワークブックのサイズを削減し、潜在的なセキュリティ問題を解決するために、画像を削除するときに内部的にワークブックから画像ファイルを削除することをサポートします
  • コメントボックスの高さと幅の設定をサポート
  • 条件付き書式設定、データ検証、定義名、描画オブジェクト、数式参照、列/行の挿入/削除に関する揮発性依存関係の更新をサポートします
  • 6 種類の新しい条件付き書式設定タイプをサポート: テキスト、空白、空白なし、エラー、エラーなし、期間
  • 複数のダッシュ算術記号を使用した式の計算をサポート
  • コピー条件付きフォーマットと重複行のデータ検証をサポート
  • SetRowHeight 関数を使用するときに高さの値が -1 の場合、カスタム行の高さの設定解除をサポートします
  • 無効な行の高さの値が指定された場合 SetRowHeight 関数はエラーを返します
  • AddChart 関数は、グラフのデータ ラベルの位置の設定をサポートします
  • AddChart 関数は、チャート領域、プロット領域、メーカーの単色または透明な塗りつぶしの設定をサポートし、Chart、ChartPlotArea、および ChartMarker データ型に新しいフィールド Fill を追加します
  • AddChart 関数は、チャート軸のフォントファミリー、サイズ、およびストライクスタイルの設定をサポートします
  • ChartSeries データ型に新しいフィールド DataLabelPosition を追加し、グラフ シリーズ データ ラベルの位置の設定をサポートします
  • Chart データ型に新しいフィールド BubbleSize を追加し、バブル チャートまたは 3D バブル チャートのすべてのデータ シリーズでのバブル サイズの設定をサポートします
  • 新しいエクスポート ChartDataLabelPositionType データ タイプを追加
  • GetPictureCells および GetPictures 関数は、Kingsoft WPS™ Office によって作成された埋め込みセル画像の取得をサポートしています
  • SetConditionalFormat 関数は、複数のセル範囲を使用した条件付き書式設定をサポートします
  • ワークシートの名前を変更するときに、定義された名前の参照を更新するサポート
  • 新しい GetBaseColor 関数のサポートを追加して、優先される 16 進カラー コードを取得します
  • 計算エンジンは日付と数式タイプのセルをサポートします
  • セル値読み取り関数は、OpenReader の Options 設定を継承します

互換性を向上させる

  • 絶対パス描画部分の互換性を向上
  • ワークブックの内部タブ比率プロパティ値の互換性を向上
  • 空のカスタム数値形式コードとの互換性を向上
  • デフォルトのテーマパーツ名前空間をサポートしていないビューアとの互換性を向上させます
  • 削除セルのコメント形状の KingSoft WPS™ Office との互換性を向上
  • ソートされた内部パーツパスを使用してワークブックを保存すると、同一に作成されたワークブックのハッシュチェックサムが同じになります

問題の修正

  • MID および MIDB 数式関数の num_chars 引数のチェックを追加し、負の数を指定した場合のパニックを防止します
  • LEN, LOWER, PROPER, REPT, UPPER, IF 数式関数で数値引数を使用した空の計算結果を修正しました
  • 場合によっては数式計算関数 CHITEST および MMULT がパニックになる問題を修正
  • v2.8.0 の回帰バグ、印刷領域の設定に関するエラー、および組み込みの特別に定義された名前を使用したタイトルの印刷を修正しました
  • v2.8.0 の回帰バグ、内部インデックス付きカラーおよび MRU カラー スタイル パーツとの互換性を向上させることによって生成された破損したワークブックを修正しました
  • v2.8.0 のリグレッションバグを修正。数値形式コードの適用結果が空だった
  • v2.7.1 回帰バグを修正。バブルまたは 3D バブル チャートでバブルが非表示になる
  • ローカルシート ID に nil ポインタガードを追加することで AutoFilter のパニックを修正しました
  • 場合によってはテーブルを追加するときに生成される破損したワークブックを修正
  • 不正な時刻数値形式の結果を修正
  • 数式文字列セル値の取得をサポート
  • 単一のテーブルセルを含むワークブックで生成される誤ったテーブル ID を修正
  • 場合によってはコンテンツ タイプで欠落している関係部分を修正
  • 場合によっては不足しているリテラル トークンを修正するために数値形式パーサーをアップグレードします
  • 組み込みの zh-cn および zh-tw 言語の数値形式を更新
  • 割り当てられた間違ったカスタム数値形式 ID を修正する
  • テーブルの範囲を削除して再度作成することによる更新が機能しない問題を修正しました
  • ストリーム リーダーの一時ファイルをクリアできないという潜在的な問題を修正
  • 数式の計算結果が正しくない場合があるのを修正
  • セル値の取得時の同時実行競合状態を修正
  • スタイル定義の取得時に欠落しているいくつかの形式を修正
  • 数値形式の科学表記法のゼロフィルの問題を修正
  • r 属性のない内部行要素を持つワークブックの読み取り時のパニックを修正
  • インラインリッチテキストセルの取得時に GetCellRichText がエラーを返す問題を修正
  • 場合によっては設定されたセル値の無効な共有文字列テーブル インデックスを修正
  • 平均以上のルールを持たない条件付きフォーマットを取得する際の GetConditionalFormats パニックを修正
  • 行の削除時にマージされたセルを誤って調整する問題を修正
  • SetConditionalFormat 関数が誤った複数の条件付きフォーマット ルールの優先順位を作成する問題を修正しました
  • GetConditionalFormats 関数がグラデーション データ バー ルールを返さない問題を修正しました
  • 間違った DecimalPlaces フィールド値を返すように GetStyle または GetConditionalStyle 関数を修正しました
  • RawCellValue を有効にすると、CalcCellValue 関数が生の値を返さない問題を修正しました

パフォーマンスの最適化

  • ピボットテーブルと画像の追加と削除のパフォーマンスが向上しました
  • 行とセルをトリミングしてメモリ消費を削減します

その他

  • Go Modules はモジュールの更新に依存しています
  • 単体テストとドキュメントの更新
  • 簡体字中国語、英語、フランス語、ロシア語、日本語、韓国語、アラビア語、ドイツ語、スペイン語を含む多言語ドキュメントサイトの更新
  • SlackTelegram グループ チャンネルに参加して、コミュニティの他のメンバーに会いにようこそ

『Excelize完全ガイド』

『Excelize完全ガイド』(簡体字中国語版)は、Excelizeライブラリの基本的な使い方を紹介するだけでなく、高度な機能や応用シナリオについても深く掘り下げています。本書は、「入門ガイド」「基礎ライブラリ設計の概要」「Excelize詳解」「高性能ストリーミング読み書き技術」「実践応用」の全5編から構成されています。本書を通じて、Go言語とExcelizeライブラリを活用し、Excelファイルの自動処理、複雑なデータ分析、レポート作成といったタスクを実現する方法を習得できます。

もはや従来のExcel操作に縛られることはありません。プログラミングの力でExcelの新たな可能性を切り拓き、よりスマートかつ効率的なデータ処理ソリューションを構築できるようになるでしょう。

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

Excelize 2.8.0 がリリースされました

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

リリースノート

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

互換性のヒント

  • エクスポートされた変数 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

『Excelize完全ガイド』

『Excelize完全ガイド』(簡体字中国語版)は、Excelizeライブラリの基本的な使い方を紹介するだけでなく、高度な機能や応用シナリオについても深く掘り下げています。本書は、「入門ガイド」「基礎ライブラリ設計の概要」「Excelize詳解」「高性能ストリーミング読み書き技術」「実践応用」の全5編から構成されています。本書を通じて、Go言語とExcelizeライブラリを活用し、Excelファイルの自動処理、複雑なデータ分析、レポート作成といったタスクを実現する方法を習得できます。

もはや従来のExcel操作に縛られることはありません。プログラミングの力でExcelの新たな可能性を切り拓き、よりスマートかつ効率的なデータ処理ソリューションを構築できるようになるでしょう。