xuri’s blog

https://xuri.me

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 グループ チャンネルに参加して、コミュニティの他のメンバーに会いにようこそ

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

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

Go 言語スプレッドシートライブラリ:Excelize 2.7.1 がリリースされました
Go 言語スプレッドシートライブラリ:Excelize 2.7.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

リリースノート

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

互換性のヒント

  • ChartLine データ型の Color フィールドを削除します
  • データ型 ShapeParagraphRichTextRun に置き換えます
  • タイプ 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 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

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

f:id:xurime:20220104153724p:plain
https://github.com/xuri/excelize

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

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

オープンソース

GitHub: github.com/xuri/excelize

Doc: xuri.me/excelize/ja

リリースノート

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

互換性のヒント

新機能

  • 新しいAPI:行のセットスタイルの SetRowStyle サポート, 関連する問題 #990
  • 新しいAPI:セルのデータ型を取得するための GetCellTypeサポート, 関連する問題 #417 と #520
  • 新しいAPI:ドキュメントアプリケーションのプロパティを設定および取得するための SetAppProps および GetAppProps のサポート, 関連する問題 #1095
  • GetCellValue, GetRows, GetCols, RowsCols は、生の値で読み取りセルを指定することをサポートします, 関連する問題 #621
  • 新しいサポート 95 の数式関数: ACCRINT, ACCRINTM, ADDRESS, AMORDEGRC, AMORLINC, AVEDEV, AVERAGEIF, CHIDIST, CONFIDENCE, CONFIDENCE.NORM, COUNTIF, COUNTIFS, COUPDAYBS, COUPDAYS, COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, DATEVALUE, DAY, DAYS, DELTA, DEVSQ, DISC, DURATION, ERF, ERF.PRECISE, ERFC, ERFC.PRECISE, GEOMEAN, GESTEP, IFNA, IFS, INDEX, INTRATE, ISFORMULA, ISLOGICAL, ISREF, ISOWEEKNUM, MATCH, MAXA, MAXIFS, MDURATION, MINIFS, MINUTE, MONTH, ODDFPRICE, PERCENTILE.EXC, PERCENTRANK.EXC, PERCENTRANK.INC, PERCENTRANK, PRICE, PRICEDISC, PRICEMAT, PV, QUARTILE.EXC, RANK, RANK.EQ, RATE, RECEIVED, RRI, SHEETS, SLN, STANDARDIZE, STDEV.P, STDEVP, SWITCH, SYD, TBILLEQ, TBILLPRICE, TBILLYIELD, TEXTJOIN, TIME, TRANSPOSE, TRIMMEAN, VALUE, VAR, VAR.S, VARA, VARPA, VDB, WEEKDAY, WEIBULL, WEIBULL.DIST, XIRR, XLOOKUP, XNPV, XOR, YEAR, YEARFRAC, YIELD, YIELDDISC, YIELDMAT, Z.TEST, ZTEST, 関連する問題 #1002
  • 数式計算エンジンは、IF 数式のネストされた計算をサポートします, 関連する問題 #987
  • 数式計算エンジンのサポートは、共有数式を取得します, 関連する問題 #844
  • 数式計算エンジンはテキスト比較をサポートします, 関連する問題 #998
  • サポートは、データ検証範囲で数式を指定します, 関連する問題 #1012
  • 開くファイルオプションで指定された解凍サイズ制限をサポートし、zip 爆弾の脆弱性攻撃を回避します
  • SetCellFormula は共有数式の設定をサポートするようになりました
  • UpdateLinkedValue はマクロシートをスキップします, 関連する問題 #1014
  • 内部関係 ID の計算が正しくないために、AddPicture が重複画像を作成する場合がある問題を修正, 関連する問題 #1017
  • AddShape は、形状を追加するための線幅の設定をサポートします, 関連する問題 #262
  • 新しいオプション UnzipXMLSizeLimit が追加され、ワークシートと共有文字列テーブルを解凍する際のメモリ制限をバイト単位で指定するためのサポート
  • 新しいスタイルを作成するときに無効なカスタム数値形式を指定すると、エラーが返されます, 関連する問題 #1028
  • ストリームライターで行スタイルの設定をサポートするようになりました
  • ストリームライターは、時間タイプのセルの時間数値形式を作成します, 関連する問題 #1107
  • ピボットテーブルのコンパクトとアウトラインの指定をサポートするようになりました, 関連する問題 #1029
  • ストリームリーダーでの現在の行/列と合計行/列の取得をサポート, 関連する問題 #1054
  • セル値を設定するときにタイムゾーンの場所をサポートするようになりました, 関連する問題 #1069
  • 7つのエラーをエクスポートして、ユーザーがさまざまなタイプのエラーに対して異なる行動をとれるようにします

互換性を向上させる

  • r="0" 属性を持つ行要素との互換性を改善します
  • XML 制御文字を保持する
  • スタイル設定と Apple Numbers との互換性を改善します, 関連する問題 #1059
  • セットヘッダーフッターでマルチバイト言語をサポートする, 関連する問題 #1061
  • セル値を設定するときに、水平タブ文字を保持します, 関連する問題 #1108

問題の修正

  • データ検証の削除に失敗した問題を修正しました, 関連する問題 #979
  • 修正セットデータ検証ドロップリストが失敗する場合がありました, 関連する問題 #986
  • 数式計算エンジン LOOKUP が配列形式を正しく処理しない問題を修正, 関連する問題 #994
  • 数式計算エンジン LOOKUP が完全に一致するものしか見つけられない問題を修正, 関連する問題 #997
  • 誤って計算された数式のパーセンテージを修正, 関連する問題 #993
  • 場合によっては、誤ったセル読み取りによって引き起こされるパニックを修正します
  • 条件付きフォーマットの下部Nが機能しない問題を修正
  • 時間解析の精度の問題を修正, 関連する問題 #1026 と #1030
  • 組み込みの科学数値形式の修正に失敗しました, 関連する問題 #1027
  • 場合によっては小さなフロート解析エラーを修正, 関連する問題 #1031
  • ワークシートの削除が失敗する場合がある修正
  • 組み込みの時刻番号形式の解析エラーを修正, 関連する問題 #1060
  • NewStyle が誤ったスタイルIDを返す場合がある問題を修正
  • 一部のコーナーケースでの行/列の挿入/削除後の結合セル範囲エラーを修正

パフォーマンスの最適化

  • マージセルの時間コストがスピードアップし、時間コストが 90% 以上減少
  • ストリーミング読み取りのパフォーマンスを向上させ、内部XMLが大きい場合に共有文字列テーブルをシステム一時ファイルに解凍し、メモリ使用量を約60%削減し, 関連する問題 #1096
  • ワークシートリストの読み取り速度が向上
  • 列スタイルをマージしてスプレッドシートのサイズを縮小する, 関連する問題 #1057

その他

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

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

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

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

オープンソース

GitHub: github.com/xuri/excelize

Doc: xuri.me/excelize/ja

リリースノート

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

互換性のヒント

Goモジュールのインポートパスを github.com/xuri/excelize/v2 に変更します

新機能

  • ストリーミングモードでの列幅の設定のサポート、関連する問題 #625
  • ストリーミングモードでのマージセルのサポート、関連する問題 #826
  • 新しいサポート 2 数式関数:BESSELK、BESSELY
  • 数式計算エンジンが定義済みの名前参照をサポートするようになりました
  • チャート xAxis および yAxis の無効化オプションを追加
  • 関数 AddPivotTable は、定義された名前による参照ソースデータ範囲をサポートし、関連する問題 #856
  • 次の関数は並行性の安全性になりました。関連する問題 #861
    • AddPictureGetPicture の同時実行性は、ワークシートから画像を挿入または取得します
    • RowsCols の同時実行性は行と列を繰り返します
    • SetSheetRow 同時実行はワークシートの行のセルを設定します
    • SetCellStyle 同時実行セットセルスタイル
    • NewStyle の同時実行性がスタイルを作成します
  • 24 関数のエラーメッセージをエクスポートします

互換性を向上させる

  • デフォルトの XML 名前空間属性の互換性を改善し、場合によっては生成された破損ファイルを修正します
  • 非標準のページ設定属性との互換性を改善し、開いているスプレッドシートを修正できない場合がありました
  • 共有文字列テーブルに count 属性を追加します
  • セル値を時間とともに設定する場合の UTC タイムゾーン要件を削除、関連する問題 #409
  • エスケープリテラル文字列のXML制御文字との互換性が向上します
  • エクスポートされたフィールドの名前を File.XLSX から File.Pkg に変更します
  • シート名の変更では、NewSheetGetSheetIndexDeleteSheet、の大文字と小文字は区別されません,関連する問題 #873
  • 条件付き形式とピボットテーブルの互換性の問題を修正します,関連する問題 #883
  • ページレイアウトの無効なホームページ番号属性との互換性を改善します
  • SetCellRichText 增加字符数上限检查并修复保留字符丢失问题

問題の修正

  • 場合によっては 12/24 時間形式の異常な解析の問題を修正します,関連する問題 #823#841
  • 修正により、GetComments でコメントを取得できない場合があります。関連する問題 #825
  • 設定を修正し、注釈を取得するときに、複数の注釈作成者をサポートします。関連する問題 #829#830
  • ワークシートを再作成するときに無効なファイルパスと重複する名前空間を修正し、関連する問題 #834
  • showOutlineSymbolssummaryBelowsummaryRight 属性の値が false の場合にセットアウトライン属性が機能しない問題を修正
  • GetRows によってワークシートの末尾の空の行を避け、問題 #842 を解決します
  • 行の値を取得するときに欠落していた数式セルを修正し、問題 #855 を解決しました
  • IF 関数の内部と外部で比較が失敗する問題を修正し、問題 #858 を解決しました
  • GetRowHeight が実際に次の行の高さを取得するように修正
  • 場合によっては異常なスコープ解決によるカスタム名の誤った取得と削除の問題を修正します,関連する問題 #879
  • 定義された名前の属性 LocalSheetIDSheetID ではなく SheetIndex と等しくなければなりません
  • 列スタイルを設定するときに欠落していた各セルのスタイルの設定を修正,関連する問題 #467
  • ピボットテーブルの作成時に PivotTableRangeとして誤った範囲が指定された場合のパニックを防止します
  • 数値の読み取り精度が異常な場合がある問題を修正,関連する問題 #848#852
  • データ検証ルールを設定すると、XML 文字エスケープ処理が行われなかったために、ビルド ドキュメントが破損する問題を修正します,関連する問題 #971
  • 設定データ検証ルールの長さのチェックが不正確になる問題を修正します,関連する問題 #972
  • 時間または日付の数値形式のセルを読み取るときに CPU リソースの使用率が高すぎる場合に、時間解決例外が原因で修正されました,関連する問題 #974
  • カスタム数値形式が日付の場合、月の解決が失敗する問題を修正します

パフォーマンスの最適化

  • SaveSaveAs の冗長メモリを約19%削減

その他

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

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

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

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

オープンソース

GitHub: github.com/xuri/excelize

Doc: xuri.me/excelize/ja

リリースノート

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

互換性のヒント

このバージョンにアップグレードするには、Go 言語バージョンが 1.15 を超える必要があります。

新機能

  • 指定されたシート名に基づいてリッチ テキストの取得をサポートする新しい GetCellRichText API が追加されます
  • SetPageLayoutGetPageLayout ページ印刷のズーム、モノクロ印刷の指定、開始ページ番号の設定と取得がサポートされるサービスが追加された
  • SetSheetPrOptionsGetSheetPrOptions シート タブの色の設定と取得がサポートされるサービスが追加しました
  • SetCellHyperLink ヒント テキストと表示テキストの設定をサポートします,関連する問題 #790
  • ピボットテーブルを作成するときの ShowError オプションのサポートが追加されました
  • ストリーミング API では、セルの数式の設定がサポートされています, 関連する問題 #625
  • 数式計算エンジンのサポートは演算子と等しくない
  • 入れ子になった数式関数で、セル参照を引数として使用する機能が追加された
  • 系列の各データ マーカーの色が異なることを指定するサポート
  • 新しいサポート 152 数式関数: ATAN, AVERAGE, AVERAGEA, BESSELI, BESSELJ, BIN2DEC, BIN2HEX, BIN2OCT, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, CHAR, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, COMPLEX, CONCAT, CONCATENATE, COUNT, COUNTBLANK, CUMIPMT, CUMPRINC, DATE, DATEDIF, DB, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DOLLARDE, DOLLARFR, EFFECT, ENCODEURL, EXACT, FALSE, FIND, FINDB, FISHER, FISHERINV, FIXED, FV, FVSCHEDULE, GAMMA, GAMMALN, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, IF, IFERROR, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, IPMT, IRR, ISTEXT, ISPMT, KURT, LARGE, LEFT, LEFTB, LEN, LENB, LOOKUP, LOWER, MAX, MID, MIDB, MIN, MINA, MIRR, N, NOMINAL, NORM.DIST, NORMDIST, NORM.INV, NORMINV, NORM.S.DIST, NORMSDIST, NORM.S.INV, NORMSINV, NOT, NOW, NPER, NPV, OCT2BIN, OCT2DEC, OCT2HEX, PDURATION, PERCENTILE.INC, PERCENTILE, PERMUT, PERMUTATIONA, PMT, POISSON.DIST, POISSON, PPMT, PROPER, QUARTILE, QUARTILE.INC, REPLACE, REPLACEB, REPT, RIGHT, RIGHTB, ROMAN, ROW, ROWS, SHEET, SKEW, SMALL, STDEV, STDEV.S, STDEVA, SUBSTITUTE, T, TODAY, TRIM, TRUE, UNICHAR, UNICODE, UPPER, VAR.P, VARP, VLOOKUP

互換性を向上させる

  • SetCellValue 設定セルの値が nil を値として呼び出すと、セルに空白の文字列が設定され、代わりに NULL 値が設定されなくなる,関連する問題 #756
  • 内部処理セルの塗りつぶしの色スタイルを削除するときに冗長な XML オプションの NULL 値解決 ID を削除します
  • Google Sheets オフライン ブラウザ拡張機能アプリとの互換性を高める,関連する問題 #769
  • Apache OpenOffice アプリケーションとの互換性を高めるには、フィルタに対応する名前に絶対参照を使用します,関連する問題 #776
  • ストリーミング解決ワークシート中に XML ラベル クローズ イベントの処理を増やし、行/列反復子の読み取りパフォーマンスを向上させ、一部の場合の読み取り行数の誤りを修正します
  • ブック内のワークシート ドキュメントの相対パスを使用する互換性が向上します
  • 重複するリッチ テキスト スタイルの作成は避ける,関連する問題 #787
  • ブック内のワークシート ドキュメントの絶対パスWindows ディレクトリ区切り記号との互換性が向上します

問題の修正

  • 数値丸め精度の問題を修正しました #764
  • ワークシート フィールドの解決順序を追加および調整して、ドキュメントの破損を修正します #766
  • COTH 双曲線余接三角関数の計算に誤りがある問題を修正しました
  • 数式計算チェーンは、ワークシートの関連処理を増やし、コピーされた行が部分的に発生するドキュメントの破損を修正します,関連する問題 #774
  • シートを削除するときに、名前の処理を増やします,関連する問題 #775
  • 組み込み newFillsparseToken サークルが複雑すぎて高すぎる問題を修正しました
  • ワークシートの既定のカスタム行の高さチェックを修正します
  • ワークシート内のすべての結合セルをキャンセルすると、ドキュメントが破損する問題を修正します, 関連する問題 #782
  • フィルター条件が部分的に欠落している問題を修正します
  • ブックにグラフ シート、ダイアログ シートが含まれている場合に UpdateLinkedValue でエラーが発生する問題を修正します
  • GetColWidth が既定の列幅エラーを返す場合の問題を修正します
  • Excel スプレッドシート アプリケーションを使用して作成したピボットテーブルにタイムラインとスライサーを追加できない問題を修正します,関連する問題 #804
  • 名前を設定するとき、内部の localSheetId プロパティは sheetIndex を使用し、間違ったワークシートインデックスの使用法を修正します
  • 場合によっては、保存後にドキュメントセルのロックされた属性または非表示の属性が失われる可能性があるという問題を修正します,関連する問題 #809
  • ストリーミングがデータを書き込んだ後に通常の API を呼び出すと、ストリーミング書き込みが失われる問題を修正します,関連する問題 #813
  • 負の値の系列の欠損グラフの色の問題を修正します

パフォーマンスの最適化

  • 数値精度処理速度の向上

その他

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

f:id:xurime:20210104201711p:plain
github.com/xuri/excelize

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

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

オープンソース

GitHub: github.com/xuri/excelize

Doc: xuri.me/excelize/ja

2021-1-4、バージョン 2.3.2 がリリースされました。注目すべきは、機能のいくつかの新しい領域と多数のバグ修正です。

変更の概要は、リリースノート にあります。

リリースノート

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

新機能

  • ピボットテーブル API AddPivotTable は、デフォルトの列と複数のデータソースをサポートします,関連する問題 #710
  • GetCellValue は、カスタムの日付と時刻の番号形式,関連する問題 #703 をサポートします
  • CalcCellValue は、ANDCLEANTRIMLOWERPROPERUPPER および OR をサポートする式関数を追加しました,関連する問題 #701 および #747
  • データ検証により、浮動小数点 10 進間隔検証ルールのサポートが追加されました,関連する問題 #739
  • AddChart は、データ系列の線種の幅と線の端の型を設定するためのサポートを追加しました,関連する問題 #549#654
  • チャート API を作成する AddChart チャートと重ならない凡例を閉じるかどうかを指定するためのサポート

互換性を向上させる

  • 6 つを超えるデータシリーズを含むラインチャートと Kingsoft WPS™ アプリケーション,関連する問題 #627 との互換性を改善
  • 場合によっては内部スタイルデータの冗長性を回避する
  • ワークブックのコアデータコンポーネントを動的に分析します
  • ワークシートに同じ行ラベルの複数の行があるワークブックをサポートする,関連する問題 #732

問題の修正

  • 式字句アナライザーが特定の不正な式を解析するときに発生する可能性のあるパニックの問題を修正しました,関連する問題 #711
  • ワークシートの名前を同じ名前に変更するとワークシートが失われる問題を修正しました,関連する問題 #713
  • NewSheet が間違ったワークシートインデックスを返す場合があるという問題を修正しました,関連する問題 #714
  • 組み込みの番号形式 ID を使用して特定の状況でセル番号形式を適用する場合のパニックの問題,関連する問題 #715 および #741を修正しました
  • 数式計算エンジンのデータ精度を修正,関連する問題 #727
  • 場合によっては無効なコピー行データの問題を修正しました,関連する問題 #729
  • 場合によってはワークシートを削除した後、デフォルトのアクティブなワークシートが間違っているという問題を修正しました,関連する問題 #735
  • AddPicture が複数のセルがマージされたワークシートに画像を挿入すると、指定された適応サイズが無効になる問題を修正しました,関連する問題 #748
  • 場合によっては行をコピーするときにマージされたセルが異常に処理される問題を修正します,関連する問題 #752

パフォーマンスの最適化

  • ストリーミングデータ時のメモリ使用量が約 60% 削減されます,関連する問題 #659
  • 実行時のメモリ割り当てに対する内部メソッド worksheetWriter の影響を最適化する,関連する問題 #722
  • AddPicture API のパフォーマンスを改善,関連する問題 #706

その他

  • エラー処理の改善と無効なスプレッドシートファイルを開いたときのクラッシュの修正
  • 多言語対応のドキュメント Web サイト:英語、フランス語、ロシア語、中国語、日本語、韓国語。更新されました。3 つの新しいドキュメント言語:アラビア語、ドイツ語、スペイン語
  • SlackTelegram 群组 チャンネルに参加して、コミュニティの他のメンバーに会いにようこそ