HotXLS リリースノート
HotXLS のユーザー向け機能、修正、XLS/XLSX 強化、エクスポート更新、互換性変更、ドキュメント更新のバージョン履歴です
最新リリース
- 最新バージョン: 2.384.120; リリース日: 2026-10-09
バージョン 2.384.120
追加
- ポータブルなクラシック XLS キャプチャが、通常の縦棒・横棒・折れ線・散布図・円・ドーナツ、および単一系列の面グラフをサポートします。検証済みのローカル保存値、中核的な外観、呼び出し側が宣言したプロット・タイトル・凡例の境界を扱います
- 読み取り専用のグラフ外観宣言は、ワークシートとグラフの識別情報、明示的なフレーム寸法、実効的な凡例ポイント サイズ、ネイティブ フォント ジオメトリを保持し、分離型の PDF・SVG・PNG 出力に備えます
- 境界付きヘルパーは、数式評価やスパース セル展開を行わずに、単純な保存済み数式参照とキャッシュ済みグラフ セルを検査します
修正
- クラシック グラフ キャプチャは、小数を含む保存済みフォント・マーカー サイズ、ソースの所有権、読み取りリースを保持し、不正なレコード、未解決の外観、リソース予算の枯渇は出力前に拒否します
- グラフの倍精度値プロパティ更新は、比較や変更の前に非有限値を拒否します
- ネイティブ ポータブル セルの繰り返し初期化では、キャプチャ中に以前のマネージ文字列を解放します
バージョン 2.384.119
修正
- クラシック グラフの検査は、型付き状態を適用する前に保存済みの系列テキスト、近似曲線名、データラベル区切り文字を検証し、不正なテキストでエラーが発生したときは部分的なモデルを解放します
- 圧縮された Unicode データラベル区切り文字は、保存済みの文字を完全に保持します
バージョン 2.384.118
追加
- クラシック グラフの検査で、マーカー直径をポイント単位で参照できるようになりました。小数サイズも含まれ、元の保存単位はそのまま保たれます
修正
- サポート対象のネイティブ クラシック グラフ塗りつぶしテーブルは、複雑なエントリの後にプロパティをデコードし、不正なテーブルでは直前の型付き塗りつぶしを保持します
バージョン 2.384.117
追加
- 明示的なバイト エンコード用ヘルパーは、埋め込み null を保持し、選択したコード ページで表現できないテキストを拒否します
変更
- クラシック BIFF5 のテキスト、数式、ワークブック メタデータは、Windows・Linux・macOS で宣言されたエンコーディングを使用します。エンコード済みバイト長と完全な文字境界も維持します
- サポート対象のレガシー グラフ テキストは、コードページの変更やコピーの後も元のデコードを保ち、異なるエンコーディングで保存する前に明示的に文字コード変換されます
修正
- 圧縮された BIFF8 Unicode は正確なコード単位を保持し、レガシーのカスタム スタイル、グラフ テキスト、2 バイトの数式キャッシュ継続は実際のレコード レイアウトに従います
- ネイティブ Unicode テキストの計算、抽出条件、ルックアップ キー、ローカル数式バインディング、クラシックの検索と置換は、サポート対象の大文字小文字一致を保持します
- 名前付きスタイルの検索は、最初の保存済みエントリを「存在しない名前」と扱わずに解決します
- ZIP エントリの繰り返し読み取りでは、保存済みストリームとデフレート ストリームの同時動作を保ちつつ、以前のヘッダー メタデータを解放します
バージョン 2.384.116
追加
- ローカルの SUM 計算ピボット フィールドは、リーフ・小計・総計の各コンテキストの合計から数式を評価します。表示されるメジャーに現れない依存関係も扱います
- キャッシュ所有の計算アイテムは、ネイティブなメンバー識別情報、非表示の依存関係、グローバルな解決順序を、サポート対象のグループ化されていない文字列メンバー フィールド間で保持します
- サポート対象の計算アイテム表示計算と集計フィルターは、表示メンバーの順序、元のフィルター順序、曖昧さのない表示メジャー識別情報を保持します
修正
- ネイティブ ピボット数式の日付処理は、キャッシュのインポート、複製、計算を通じてワークブックの日付システムを保持します
- 欠落アイテムのキャッシュ クリーンアップは、両方のワークブック日付システムとレガシー保存レポートにわたって、検証済みマテリアライズ済みレポートの所有権を保持します
- サポート対象外の計算ピボット メタデータや編集済みネイティブ出力は、ワークシートの結果を変更する前に拒否されます
バージョン 2.384.115
追加
- ネイティブのポータブル PDF・SVG・PNG 出力は、リッチテキスト、モデル化された図形、通常の画像、セル内画像、ブール値チェックボックス、サポート対象の 7 種類のキャッシュ済み XLSX グラフ ファミリをサポートします
- イミュータブルなワークブック印刷プランは、完全な印刷範囲、繰り返しの行・列タイトル、改ページ、用紙設定、余白、向き、中央寄せ、拡大縮小、ページ順を Linux と macOS で適用します
- 明示的なネイティブ フォント ジオメトリにより、ワークブックのジオメトリ プロバイダを変更せずに、生成時に検証するキャプチャが可能になります
修正
- ページに合わせるモードは、ワークブックのラウンドトリップを生き延び、古いパーセント拡大縮小を無視します。無制限のフィット寸法も含みます
- サポート対象のグラフ タイトル フォント、線の外観、マーカーの塗りつぶしと枠線は、黒を含む明示的にインポート・作成された値を保持します
- リッチテキストは明示的な false の上書きを保持し、文字列の再利用や意味比較の際に実効的な run の外観を区別します
バージョン 2.384.114
追加
- ネイティブな Linux x64 / macOS ARM64 アプリケーションが、サポート対象のドキュメント プロパティや RC4 暗号化を含むクラシック BIFF8 ワークブックを読み込み、編集、計算、保存できるようになりました
- ポータブル複合ストレージは、ネストしたスコープ、大きなチェーン状 DIFAT コンテナ、メタデータ、明示的なネイティブ ストレージ インターフェース所有権をサポートします
修正
- 128 ビット CryptoAPI ワークブックは互換性のある暗号化プロバイダを通知し、読み取り可能な平文ドキュメント プロパティを保持します
- ネイティブ ドキュメント タイムスタンプは正しい FILETIME エポックを使い、UTC 値をプラットフォーム間で保持します
- クラシック定義名は、スコープ検索、数式、ワークブック再オープンの間で正規の Unicode 識別情報を共有します
- エスケープされた日付書式区切り文字と埋め込み引用リテラルは、選択された完全な日付書式を保持します
バージョン 2.384.113
追加
- 範囲クリアと Unicode テキスト貼り付けは、保護と構造のプリフライト付きで、境界付きアトミックな undo / redo をサポートします
- 型付きローカルのセル内画像とチェックボックス書式は、XLSX ラウンドトリップ、アクセシビリティ メタデータ、所有権を意識したコンテンツ編集をサポートします
- スパースな行・列チェックボックス書式は、編集と XLSX ラウンドトリップを通じて優先順位、明示的クリア、欠落セルを保持します
- XLSB サポートが拡大し、数式とキャッシュ、名前、結合、ハイパーリンク、ペイン、テーブル、フィルターを扱えます
- ネイティブな Linux x64 / macOS ARM64 ワークブック API が、サポート対象の XLSX・XLSB・ODS ファイルを読み込み、編集、計算、保存します
- ネイティブ ピボット出力は、数値・日付・手動のグループ化と、11 種類すべてのカスタム小計関数をサポートします
修正
- スコープ付き名前は、Windows・Linux・macOS で一貫した Unicode 正規化と大文字小文字の一致を使い、アクセントや記号を捨てません
- モダンな集計数式は、Windows 上の Free Pascal でも一貫してコンパイルされます
- 別のワークブックを開くときは、以前のファイルからスタイル定義を引き継ぐ代わりに、名前付きスタイルを置き換えます
- モダンな画像とコントロール コンテンツは、欠落セルをマテリアライズせずに、範囲 undo と保存を生き延びます
- インポートされた数式キャッシュは元の値メタデータを保持し、通常のメタデータはセル内画像コンテンツと区別されます
- 意味比較は、境界付きスパース走査により、ローカル画像コンテンツ、アクセシビリティ メタデータ、実効的な継承コントロール書式を区別します
バージョン 2.384.112
追加
- 正規表現のテスト・抽出・置換は、Windows・Linux x64・macOS ARM64 で UTF-16 テキスト、キャプチャ、配列ブロードキャスト、境界付き評価をサポートします
- GROUPBY と PIVOTBY は、スコープ付き集計コールバック、複数メジャー、ヘッダー、フィルター、階層合計、並べ替え、相対パーセンテージをサポートします
修正
- スカラー SUM 引数はブール値と数値テキストの型強制を保持し、範囲と配列の集計は既存の無視ルールを維持します
- スコープ付きブールリテラルと集計コールバック数式は、future function 保存形式とワークブック再オープンを生き延びます
バージョン 2.384.111
追加
- ネイティブ ローカル ピボット出力は、基底アイテムの差分と比率、累計、行・列比率、インデックス、親比率、累積パーセンテージ、密ランキングをサポートします
修正
- 表示計算は、ネイティブな合計、欠損値、ゼロ除数、ソート済みメンバーのセマンティクスを保持します。加算できない平均も含みます
- 拡張表示モードと基底フィールド識別情報は、保存、再オープン、Excel による明示的な更新を生き延びます
バージョン 2.384.110
追加
- ネイティブ ローカル ピボット出力は、コンパクト・表形式・アウトライン レイアウト、祖先ラベルの繰り返し、既定の小計配置、そしてデータ軸のどちらにも置ける複数メジャーをサポートします
修正
- 繰り返しラベルの設定は、インポートされた名前空間エイリアスと保存/再オープンを生き延び、ネイティブ出力は存在しない交差と数値 0 を区別します
- ステージ化されたレイアウト メタデータにより、Excel が生成レポートを明示的に更新しても、フィールドとデータのキャプションの一貫性が保たれます
バージョン 2.384.109
追加
- ワークブック比較は、型付き値と正確な大きな整数を区別し、有限の数値許容差と、オプションの保存済み数式キャッシュ・スタイル・ジオメトリ比較をサポートします
- 境界付き意味比較は、サポート対象の名前、ルール、テーブル、描画順序、空白スタイル領域、実効的なリッチテキスト run、ローカル ピボット モデル、スライサー選択、タイムライン状態をカバーします
変更
- 比較はパック済みセルと欠落セルを保持し、リソース識別情報を実効値へ解決し、サポート対象外モデルやリソース枯渇のときは以前の成功結果を保持します
修正
- 型付きデータベース REAL パラメータの精度検証は、正確値・オーバーフロー・null の各チェックを保ったまま Delphi XE5 でコンパイルできます
バージョン 2.384.108
追加
- ODS のラウンドトリップは、通常の注釈テキストと作成者、表現可能な値とカスタム フィルター、明示的なセル保護、および同等のパスワードなしワークシート保護を保持します
- 変換レポートは、ワークシート コピー後の保存を通じて正確なメタデータ損失を保持します。サポート対象外のフィルター式や同等でない保護も含まれます
修正
- キャンセルまたは失敗した ODS ストリーム保存は、境界付きの一時ファイル ステージングにより、宛先のバイト列・サイズ・位置を保持します
- 非ゼロのストリーム位置から始まる成功した ODS 保存は、前方のデータを保持し、ZIP エントリ オフセットを正しく保ちます
バージョン 2.384.107
追加
- 保存済み数式の検査と参照を認識するピボット集計数式は、クラシック XLS・XLSX・読み取り専用・分離評価のどのコンテキストでも動作します。利用可能な配列結果と型付きエラーも扱います
- ピボット集計クエリは、ソース データを更新することなく、境界付き分離キャッシュ評価を通じて、モデル化された表示メンバー、レポート フィルター、サポート対象の小計を尊重します
修正
- ネイティブ Excel XLS ピボットキャッシュは、連続するインライン数値と現在のキャッシュ有効性メタデータを保持し、誤った繰り返し値の合計を返さなくなりました
- ピボット参照には、メイン テーブル位置の上にあるモデル化済みレポート フィルター領域が含まれます
バージョン 2.384.106
追加
- 自動データベース クエリは、型付きリテラルおよび保存セル パラメータを位置順にバインドします。Unicode、空テキスト、ゼロ、ブール値、日付、null を保持し、SQL テキストへの値の置き換えは行いません
- セル パラメータは、再計算やマテリアライズなしで利用可能な数式キャッシュとコンパクトな保存値を読み取り、境界付きメタデータ検証とトランザクション式の結果適用を行います
修正
- Jet と ACE の日付パラメータは、ロケール依存のタイムスタンプ変換に左右されず、型付き OLE DATE バインディングを通じて DATE・TIME・TIMESTAMP 値を保持します
バージョン 2.384.105
追加
- 数式メタデータは、実際に参照されるファイル識別情報、サポート対象の基本表示形式、負の値の色、正の値の括弧、テキスト配置、ロック状態、列幅、計算モードを、XLS と XLSX の評価コンテキストを横断して読み取ります
- 分離型の基本スタイルおよびスパース軸フットプリント検査は、保存済み・パック済みセル、ワークシート既定、テーマ カラー、借り受けたワークブック所有権を保持します
変更
- 列幅メタデータは、丸められた文字幅と既定幅フラグを 2 列の配列として返します。利用できない Excel アプリケーション環境情報と分類不能な書式は明示的なエラーを報告します
バージョン 2.384.104
追加
- インポート検証は、厳密なスカラー型、数値・日付の範囲、明示的な Excel 日付システム、複合一意性、列間のリレーションシップをサポートします
- 構造化された違反情報は、ワークシート、セル、ルール、関連列、最初の重複行を特定します。保存値検証はパック済みセルを保持し、暗黙の再計算なしに利用できない数式キャッシュを報告します
バージョン 2.384.103
追加
- 自動テキスト クエリは、宣言されたフィールド開始位置、サポート対象の文字エンコーディング、型付きフィールド変換、スキップ対象フィールド、ヘッダー行か先頭行かの選択を使って固定幅ファイルを更新します
- 固定幅更新は、リテラル引用符を保持し、フィールド パディングを取り除き、無効な境界、過大な入力、キャンセルをワークシート変更の適用前に拒否します
バージョン 2.384.102
変更
- クラシック数式シンボル監査の走査が高速化し、関数と名前の検出結果、大文字小文字を区別しない重複排除、スコープ、検出順序が保持されます
修正
- Windows のワークブック保存、直接パッケージ パッチ、PDF 出力、ページ画像出力は、サポート対象のファイルシステム上で、delete-sharing メタデータやリーダー ハンドルに保持された既存ファイルをアトミックに置き換えられます。ロック チェック、読み取り専用保護、サポート対象外ファイルシステムでのレガシー パスは維持されます
バージョン 2.384.101
追加
- INDEX の領域セレクター配列は、行・列セレクターとともに、計算配列およびサポート対象の同一シート参照ユニオンへブロードキャストされます。向き、選択された値の型、個々のエラーは保持されます
- 定義名と LET バインディングはサポート対象の複数領域参照識別情報を保持し、スカラー CHOOSE は選択された参照を下流の計算のために保持します
修正
- INDEX は計算ソースに対して明示的な領域引数 1 を受け付け、無効・欠落・小数・範囲外の領域セレクターを区別します
- シート間ユニオンと計算配列ユニオンは、誤った参照識別情報を得る代わりに、サポート対象のエラー契約に従って拒否されます
- 既存のローカル ワークシートで修飾された無効参照は、引用符付きシート名を含め、数式文字列を変更せず、未知の修飾子をローカル シートと解釈することなく、直接数式と定義名のどちらでも参照エラーを保持します
バージョン 2.384.100
追加
- Linux 上でのポータブル ヘッドレス PDF・SVG・PNG 出力。明示的なフォント ファイル、ネイティブ テキスト シェーピング、境界付きリソース、段階的な排他ファイル公開を備えます
- サポート対象のクラシック XLS および XLSX 矩形を、イミュータブルで受け渡し可能なスナップショットとして Windows 上で読み取り専用キャプチャします。保存済み数式結果、スコープ付きテーブルと条件付き外観、物理寸法、完全な結合を含みます
修正
- ポータブル外観検証は、最適化コンパイラ ビルドでも無効な enum 表現を一貫して拒否します
バージョン 2.384.99
追加
- サポート対象の Windows Text・ADO・ODBC・Web 接続に対する明示的な自動クエリ更新。カスタム プロバイダ登録と境界付き結果を備えます
修正
- ネイティブ クエリ結果のリレーションシップと列識別情報は、サポート対象のテーブル ベースまたはスタンドアロンの保存と再オープンを通じて保持されます
- 無効なプロバイダ接続種別は、ワークシートの結果を変更せずにディスパッチ前に拒否されます
バージョン 2.384.98
追加
- ローカル ピボット タイムラインの作成、共有ビュー接続、終日を含むフィルタリング、そして選択クリアを保護した削除または選択を保持する削除
- 接続されたビューにわたるネイティブ スライサーのデータなしアイテム更新を明示的にサポート。累積リソース制限、キャンセル、選択とアイテム識別情報の保持を備えます
修正
- ネイティブ タイムラインのリレーションシップとフィルター所有権の処理は、マテリアライズ、保存、再オープンを通じてサポート対象のインポート済み選択を保持します
- ピボット スライサーのクロスフィルター設定は、ネイティブな表形式表現を通じて保持されます
- タイムライン検出は、Open XML 読み込み中も UTF-16 ワークブックおよびリンク パートのデコードを保持します
バージョン 2.384.97
追加
- スカラーおよび計算配列の定義名が、サポート対象の数値・カウント系集計計算で使えます。ネイティブな型強制、依存関係追跡、リソース制限を備えます
修正
- 数値集計はローカル ワークシート参照から型付きエラーを伝播し、空の平均はゼロ除算エラーを返し、失敗した名前参照は部分走査をやり直さずにエラーを保持します
バージョン 2.384.96
追加
- テキスト結合、およびサポート対象の中央値・順序統計量・パーセンタイル・四分位数・パーセント順位・複数最頻値・母集団共分散の各計算が、計算配列引数を受け付けます
変更
- 配列と参照の収集は、ネイティブなスカラー型強制、型付きエラー、元の共分散ペア、計算リソース制限を保持します
修正
- 有限中央値の中点計算は同符号オーバーフローを回避し、排他的パーセンタイルは有効な端点ランクと単一要素ランクを受け付けます
バージョン 2.384.95
追加
- トランザクション式のネイティブ コンパクト ピボット レポート出力。同期されたワークシート値、レイアウト メタデータ、永続化されたセル所有権を備えます
- 他のアクティブなフィルターがかかった状態での、接続ビュー間の読み取り専用スライサー メンバー可用性
- 保持数を設定できる明示的な過去ピボットキャッシュ メンバー クリーンアップと、連動したリンク選択の再マッピング
変更
- サポート対象のネイティブ ピボット出力は、現在の手動フィルターとキャプションを保持しつつ、サポート対象外のレイアウトや編集済み所有セルを変更前に拒否します
バージョン 2.384.94
追加
- 共有キャッシュのピボットテーブル ビューと、明示的なワークシート境界付きのローカル ピボット スライサー作成
- トランザクション式のスライサー削除。制限をクリアするか、選択を通常のピボット フィルターとして保持します。将来メンバーのポリシーも含みます
- 安定したメンバー識別情報による、固定の数値・日付・離散グループ化キャッシュ再構築
- 正確なメンバー識別情報と集計識別情報を使う、分離型ネイティブ コンパクト ピボット レイアウト メタデータのプレビュー
修正
- データ入力済みワークブックの再オープン時には以前の型付きピボットキャッシュが置き換えられ、作成済みのネイティブ スライサー リンクは Excel から引き続き認識されます
- グループ化キャッシュのシリアライズは、宣言されたネイティブ メンバー ドメインと公式な総計・データ軸属性を保持します
バージョン 2.384.93
追加
- 型付きセル値、基本スタイル、通常のワークシート ビューと寸法を扱う、検証済みの XLSB リーダーおよびライター
- ワークブックのファイル保存・ストリーム保存からの明示的なバイナリ出力。自動バイナリ入力判定と変換忠実度レポートを備えます
変更
- XLSB 変換ステージは完全なパッケージを組み立ててから出力し、サポート対象外の機能や計算設定は出力前に拒否します。チェックなし・損失許容の保存も含まれます
修正
- 設定された ZIP 圧縮レベルは、デフレータの初期化前に適用されます
バージョン 2.384.92
追加
- サポート対象のローカル定義名・テーブル ソースに対する、トランザクション式のピボットキャッシュ更新と安全なワークシート マテリアライズ
- ワークシート スコープの定義名検索と、キャッシュ更新用の呼び出し側解決ソース境界
修正
- ローカル ソース識別情報と定義名スコープは、引用符付き名前や Unicode 名を含め、ワークシートの移動や名前変更を生き延びます
- 定義名数式の XML は、メモリ内数式構文でしか必要としないオプションの先頭等号を出力しなくなりました
- テーブルの合計行メンバーシップは実際の合計行数に従い、合計行 UI ヒントだけが存在する場合はすべてのデータ行を保持します
バージョン 2.384.91
追加
- 転置、行列乗算、行列式、逆行列のための計算配列入力と型付き結果
- 行・列選択のための順序付きセレクター ベクトル、重複、負のインデックス
- 計算ルックアップ ベクトルと配列値ルックアップ要求。完全なスカラー ルックアップ スライスと型付きフォールバック値を含みます
変更
- 行列演算、ルックアップ走査、セレクター走査、コピー、パディングは、組み合わせ全体で評価ステップと配列メモリの制限を尊重します
修正
- 数式と配列結果のテキストキャッシュが、再計算前の Excel で正しく表示されます
- モダンなリッチエラー キャッシュには、ネイティブなキャッシュ表示に必要なワークブック バージョンと計算機能宣言が含まれます
- ルックアップとフラット化のオプションは、数値への縮小前に範囲外の値を拒否し、小数オプションはネイティブの切り捨てに従います
- 空の TAKE・DROP・FLATTEN 結果は、型付き計算エラーを保持します
バージョン 2.384.90
追加
- 分離型ピボット結果プレビューは、ライブの計算キャッシュを変更せずに、共有スライサー選択と呼び出し側フィルターを保持します
- サポート対象のローカル ピボット ソースに対する安全なワークシート マテリアライズは、結果を段階適用し、競合するコンテンツと構造を拒否し、既存のセル オブジェクト、書式、コメントを保持します
- 正確な型付き値の所有権は XLSX の保存と再オープンを生き延び、結果の安全なサイズ変更・移動、既存スカラー ピボット値の明示的な取り込みが可能になります
修正
- 最後にバインドされたピボット スライサー ビューの削除は、その描画、キャッシュ、予約名、選択を取り除く前に拒否されるようになりました
- スライサー ビューのクリアは、変更前に影響するすべてのキャッシュを検証し、許可されたビュー、描画、未バインドのキャッシュをまとめて後始末します
バージョン 2.384.89
追加
- INDEX は、計算配列とワークシート範囲に対して配列値の行・列セレクターを受け付けます。ペア選択と行×列のクロス積を含みます
修正
- セレクター結果は型付き値とエラーを保持し、欠落セレクター位置を #N/A でパディングし、計算メモリと評価ステップの制限を尊重します
- ゼロに切り捨てられる小数スカラー セレクターは完全な行または列のスピルを生成し、負のセレクターは切り捨ての前に #VALUE! を返します
- スカラー範囲選択は参照動作を保持し、セレクター スピルは障害物から回復し、保存と再オープンの後にサイズ変更と再計算を行います
バージョン 2.384.88
追加
- サポート対象のインポート済み非 OLAP ピボット スライサーキャッシュに対する、型付きメンバー検査、共有メンバー選択、クリア
- 接続されたピボットテーブル計算は、スライサー選択を、他のフィールド上の独立した制限や呼び出し側レコード フィルターと交差させます
変更
- 選択の変更はコミット前にすべての接続とメンバーを検証し、曖昧なインポート済み同一フィールド マスクを拒否し、サポート対象外のキャッシュ表現を保持します
- スライサーキャッシュ コレクションの変更は、接続されたピボットテーブル計算に影響するとき、ワークブックの書き込み保護を尊重します
- バインド済み非 OLAP ピボット スライサーキャッシュの削除は、一貫したランタイム状態と保存済みフィルター状態を保つため、アトミックに拒否されます
修正
- 編集されたピボット スライサー選択と接続ビューのメンバー マスクは、インポートされた名前空間と不明な拡張を保持したまま、一緒に保存されます
- サポート対象のスライサー接続は保存済みシート識別情報に従い、拡張キャッシュ識別子を通常のワークブック キャッシュ識別子とは独立に解決します
- インポートされたピボットテーブル定義は、ワークシートが並べ替えられても元のビューと関連付いたままです
バージョン 2.384.87
変更
- ローカル矩形ピボットキャッシュ更新は、既存のフィールドとメンバー識別情報を保持し、新しい型付きメンバーを追加し、ソースの並べ替え・削除・再追加の後も共有ビューのフィルターと選択を元のメンバーにバインドされたまま保ちます
- ソース ヘッダーはデータベース フィールドと名前で一致するため、列を並べ替えても計算フィールドは数式を保持し、後続の評価用に新しい空レコード プレースホルダーを受け取ります
- 更新処理はキャッシュを更新する前に完全なソースを検証・ステージし、サポート対象外のスキーマ、ソース型、派生グループ化、新しい未マッピング離散グループ メンバーを部分変更なしで拒否します
修正
- ピボット エラー値は、共有アイテムとレコード内で、XLSX の保存と再オープンを通じて型とコードを保持します
- 更新された共有アイテム ドメインは型フラグと表現可能な境界を再計算し、XLSX キャッシュ メタデータは混在する値、日付、エラー、ブール値、空白を正確に記述します
- ソース更新は、ワークシート セルを作成せずに欠落セルを読み取り、Unicode フィールド ヘッダーをテキストを縮小せずに比較します
- 保存された更新済みピボットテーブル ビューは、既存のメンバー順序、非表示フラグ、インポートされたレイアウト拡張を保持したまま、小計アイテムの前に新しいキャッシュ メンバーを含めます
- ビュー順序がキャッシュ順序と異なってもページ選択は正しいメンバーにバインドされたまま変わり、計算フィールドは保存済みソース レコードをシフトしなくなり、更新タイムスタンプは数値の XLSX 表現を使用します
バージョン 2.384.86
追加
- INDEX は、スカラー選択、配列全体の選択、行または列の抽出付きで計算配列と定数を受け付け、範囲ソースの参照動作は保持されます
- SORT と UNIQUE は計算配列と定数を受け付け、FILTER・SEQUENCE・LET などの配列生成式と直接組み合わせられます
変更
- 組み合わせた配列式は、自動 XLSX スピル サイズ変更、固定範囲配列計算、型付きエラー、保存と再オープン後の再計算を保持します
修正
- 配列選択と並べ替えは小数の数値オプションを切り捨て、無効なブールオプション テキストは #VALUE! を返し、計算配列操作はメモリと評価ステップの制限を尊重します
バージョン 2.384.85
追加
- XLSX の動的配列が、自動サイズ変更されるスピル範囲に計算されるようになりました。ユーザーの障害物は #SPILL! で保持し、スピル参照と明示的な暗黙の交差をサポートし、再オープン後にキャッシュされたスピル所有権を回復します
- 変換プリフライトは既知のターゲット書式損失を報告し、チェック付き保存は既存のファイルやストリームへの書き込み前にそれらの損失を拒否できます
- 明示的なマクロ有効テンプレート出力は、XLTM パッケージ内の既存 VBA プロジェクトを保持します
- 呼び出し側指定のクエリテーブル更新は、境界付き固定スキーマ結果、同期されたテーブルとフィルター範囲、進行状況、キャンセル、トランザクション式ロールバックをサポートします
変更
- 繰り返しレポート バンドは、識別情報を再マッピングした完全なスレッド会話を複製し、ターゲットが失敗したときはロールバックを保持します
- ODS のカスタム ブール検証、サポート対象の数式値境界、リスト ソース、修飾参照は、基本セルの基点調整付きで変換されます。サポート対象外の定義とセル参照は一緒に省略されます
修正
- 固定範囲配列数式は生の範囲算術を要素ごとに評価し、複数配列の MAP は一致するラムダ パラメータを受け付け、FILTER は計算配列とマスクを評価します
- モダンな #SPILL! と #CALC! エラーは、無関係なインポート済みメタデータとリッチ値バケットを保持しつつ、型付き XLSX リッチ値メタデータを保持します
- 新規作成した XLSX 数式は、Excel 相互運用のために正規の引数区切り文字と future function の接頭辞を付けて保存されます。保存ではメモリ内の式が保持され、再オープンでは正規の数式構文が返されます
- サポート対象のローカル グラフ系列は、編集と再計算の後に、数値・テキスト・日付・エラー・バブル・階層カテゴリのキャッシュを更新します
- ネイティブ ページネーションは結合スパンを元のアンカー越しに描画し、ページ断片をクリップし、内側の罫線とグリッド線を抑制します
バージョン 2.384.84
変更
- Delphi と C++Builder の入門サンプルに、型付き日付、価格、割引、計算された合計を含む実践的な販売注文が加わり、保存した XLS および XLSX ワークブックを再オープン後に検証します
- 請求書サンプルは、印刷可能な請求書を編集可能な支払条件と入金台帳に接続し、割引、税、支払、未払い残高を計算します
- ワークシート レイアウトのサンプルは、結合見出しの作成、列挙、削除、再オープン後の保持を示します
- さらに 9 つの焦点を絞った API サンプル ファミリが Miscellaneous に移動し、メイン カタログは完全なビジネス ワークフローと対話ツールに集中できます
削除
- 最小構成のスタンドアロン結合セル・リッチテキスト サンプルは、ワークシート レイアウトとダッシュボードのサンプルに統合されました
バージョン 2.384.83
変更
- デモ カタログは、各プラットフォームの Miscellaneous フォルダで、完全な体験や本格的なワークフローを、焦点を絞った API レシピから分離するようになりました。どちらの階層でも直接ナビゲーションとそのままビルドできるプロジェクトを利用できます
削除
- 冗長だった 3 つの範囲・ワークシート レイアウト デモは削除されました。完全なシナリオは RangeOps と SheetLayout に残っています
バージョン 2.384.82
変更
- Delphi と C++Builder のダッシュボード ギャラリーは、ライブ合計、描画済みグラフ、編集可能な明細、価格シナリオ、現在の結果のエクスポートを備えた入力済みワークブック上で直接開きます
- API ツアーは、12 か月すべてをカバーする繰り返し利用可能なデータセットとともに、ダッシュボード・販売データ・グラフ プレビュー・API レシピへの直接ナビゲーションを提供します
- サンプルは必要なシナリオ ユニットとマニフェスト リソースをローカルに同梱するため、別個の共通ディレクトリなしで各プロジェクトをコピーできます
修正
- API ツアーはダッシュボード数式に入る前に販売データを作成するようになり、ライブ ショーケースが正しく初期化されます
- ライブ ショーケースのグラフは再計算後にキャッシュ値とラベルを更新し、C++Builder ギャラリーの繰り返しエクスポートは、生成されたレポート シートを蓄積することなく現在の編集を保持します
バージョン 2.384.81
変更
- ワークシート コピーのサンプルは、出力を再オープンした後に、独立したコンテンツ、再マッピングされた書式、数式、埋め込みオブジェクトを検証します
- 日付システム、検索、グループ化、配列数式、画像の各サンプルは、それぞれ固有の動作を検証し、失敗した出力を非ゼロの終了コードで報告します
修正
- クラシック XLS のオートフィルター範囲は、アクティブな抽出条件を持つコピー済みフィルターを含め、保存と再オープンの後も完全な行・列境界を保持します
- ダッシュボード ギャラリーは、数式に入る前に参照先ワークシートを作成し、エクスポート前に合計を計算し、別の出力が失敗しても要求されたすべての関連フォーマットを生成します
- C++Builder ダッシュボード ギャラリーは、ドキュメントどおりの CSV・HTML・RTF 関連ファイルを生成します
- コンパイル済みレポートは、クラシック Win64 C++Builder 静的ビルドで宛先を置き換えられない場合も、通常どおりの失敗報告を保持します
- 対話型 API サンプルは、PDF・HTML・CSV エクスポートが失敗したとき、ファイルが書き出されたと偽らずに失敗を報告します
- 機能ショーケースは、サポート対象のセマンティック ハッシュ デモンストレーションを完了させ、サポート対象外のモダン描画スナップショットを呼び出さずに保存済みワークブックを検証します
バージョン 2.384.80
変更
- サンプル カタログはプロジェクトを学習タスク別にグループ化し、推奨エントリ ポイント、書式別のレッスン、互換プロジェクト名を示します
- ワークシート レイアウトと範囲再配置のサンプルは、既存のプロジェクト名と出力名を保ったまま、完全なシナリオを共有します
- メモリ、高度な CSV、印刷、ドキュメント プロパティ、テキスト ボックス、ワークシート保護の各サンプルは、保存データ検証と明示的な失敗報告付きの完全なワークフローを示します
修正
- 再オープンした XLSX テキスト ボックスは、再保存時にも描画リレーションシップを保持するようになりました。重複する XML 名前空間宣言なしで、注釈が保存と再オープンの繰り返しサイクルを通じて利用できます
- バッチ変換サンプルは、ソースを開いたりライターを呼び出したりする前に Skip existing を尊重し、完了を報告する前にワークブックの成功コードを検証します
- 請求書サンプルは、印刷可能領域に支払条件と完全なタイトルを含めます
- ページ設定コンソール サンプルは、Windows インストーラー検出を引き起こす代わりに、通常のユーザー権限で起動します
バージョン 2.384.79
修正
- エクスポート オプション付きの ODS ファイル保存は、シリアライズが失敗したり保存がキャンセルされたりしても既存の宛先を保ち、宛先の置き換えエラーも一貫した形で報告します
- ODS エクスポート オプションは通常の保存ライフサイクルに乗ります。再計算ポリシー、進行状況のキャンセル、診断、そしてファイル出力とストリーム出力の両方に対するワークブック書き込み保護が含まれます
- XLSX のストリーム保存は設定された再計算ポリシーに従い、手動モードではキャッシュ済みの値を保持し、要求されればダーティな数式を更新します
- 完了した XLSX と ODS の保存通知は、すでにコミット済みの出力をキャンセル失敗に変えることがありません
- ストリーミング ワークシート パッチの初期化や終了処理が失敗してもソース ファイルのハンドルは解放されるので、呼び出し側はテンポラリのソースを後始末でき、初期化失敗の後でもライターを再利用できます
バージョン 2.384.78
修正
- 範囲のコピーとクローンは、交差する仮想書式を保持し、既存のオーバーレイ書式は宛先の内側だけを置き換えます。重なり合うコピーやワークブック間の書式も対象です
- 明示的な書式リセットは、行や列の既定書式を持つワークブックを保存して開き直した後も有効のままです
- ワークブックの既定書式を明示的に使う XLSX セルは、そのカスタム フォント、塗りつぶし、表示形式を保ちます
バージョン 2.384.77
修正
- 行全体・列全体の条件付き書式とデータ検証のターゲットは、ソースに完全に収まっているときは行や列の編集と範囲クローンに追従します。ターゲットのジオメトリは境界内に保たれ、相対数式のアンカーも維持されます
- ODS から取り込んだ有限の繰り返し空白スタイルは、使用範囲の全容を保ちます。新規作成またはリセットされたワークブックは、ドキュメント プロパティに現在のライブラリ バージョンを報告します
- 行全体・列全体・シート全体のセル コピーはスパース ストレージを保ち、置き換えられる宛先の内容を空の座標を広げずにクリアし、重なるコピー元データとワークブック間の書式を保持します
バージョン 2.384.76
修正
- 条件付き書式とデータ検証のルールは、ルックアップ、削除、条件付き計算、検証チェックのどの場面でも、絶対参照、逆順、行全体、列全体、空白区切りのターゲットに一貫して適用されるようになりました
- 不正な形式やグリッド外のターゲット領域はもうセルに一致せず、同じルール内の有効な領域は引き続き機能します。グリッド全体に及ぶ条件付きの集計は、スパースなセル ストレージを保ちます
- ODS の検証ターゲットは、行全体と列全体に有効なセル アンカーを使い、等価で重なる条件付きターゲットが再オープン時に重複ルールを作ることはありません
バージョン 2.384.75
修正
- ODS のセル比較ルールと式ルールは、Excel 互換出力でも行全体・列全体・広いターゲット範囲の全体を保ちます。繰り返し空白のキャリアはスパースな範囲をコンパクトに保ち、重なるルールやワークシート メタデータを維持します
- ODS の繰り返しスタイル付き空白領域を開き直しても基本書式はコンパクトなまま保たれ、標準の条件付きルールは結合領域内で重なる優先順位とカバレッジを維持します
バージョン 2.384.74
修正
- ODS の条件付き書式は、保存と再オープンを通じて、サポートされるフォント、背景、表示形式の上書きを保持します。明示的なリセットも含まれ、強調表示やターゲット範囲が異なるルールは分離されたままです
- XLSX の条件付き書式は、組み込みとカスタムの両表示形式を保持します。条件付きルールだけが使う表示形式も対象で、保存してもそのカスタム形式が削除されたり、ルールが別の形式を指したりすることはありません
- ODS のパーセント スタイルは、他の表計算アプリケーションが要求するパーセント記号を含み、再オープンしてもその記号が重複しません
バージョン 2.384.73
修正
- テキストのクリップボードへのコピー、クリップボード テキストの読み取り、テキストや XML Spreadsheet データの貼り付けが、Windows 10 と 11 でランダムに失敗しなくなりました。クリップボードが変わるたびに、エクスプローラーや Clipboard User Service(クリップボード履歴)は数ミリ秒だけクリップボードを開いて読み取ります。テキスト操作は 1 回だけ開くを試みていたため、この瞬間に「アクセスが拒否されました」で失敗することがありました
- すべてのクリップボード操作は、BIFF8(Excel 形式)のコピー&ペーストと同じポリシーを使うようになりました。約 500 ミリ秒間、クリップボードを開こうと試み続けます。他のアプリケーションがそれより長くクリップボードを握っている場合は失敗しますが、既存のクリップボードの内容は変更されません
バージョン 2.384.72
修正
- ODS ファイルを開くと、General 表示形式を正しく読み取ります。Excel と LibreOffice は General を小数点以下の桁数なしの数値スタイルとして書き込むため、以前は小数 2 桁の固定として読まれ、1.5 のような値が 1.50 と表示されていました。このようなセルは、元のアプリケーションと同じく表示形式を持たなくなります
- General の数値の前後のテキストは保持されます。例えば
General" kg"のようになります
バージョン 2.384.71
修正
- Excel や LibreOffice が保存した ODS ファイルは、シート全体に及ぶ使用範囲を報告しなくなりました。どちらのアプリケーションも、すべての行と列に行 1048576、列 16384 までのサイズを与えます。高さが自動の空行は既定の高さを保ち、最終列まで続く列サイズはシートの標準列幅になります。10 行の Excel ファイルを開いて保存し直すと、約 2.8 MB から数 KB まで縮みます
- 手動で設定した行の高さと、内容のある行の自動高さ(折り返しテキストに合わせて伸びた行など)は、これまでどおり保持されます
- ODS への保存では、固有の幅を持たない列にシートの標準列幅(
StandardWidth)を書き込みます。ODS にはシート全体の既定列幅がないため、以前はこの値が落ちていました
バージョン 2.384.70
修正
- Excel や LibreOffice が保存した ODS ファイルが、再びミリ秒単位で開けるようになりました。どちらのアプリケーションも、すべての行を列 16384 までパディングし、行 1048576 までパディング ブロックを置きます。Excel の 10 行ファイルはオープンに 5 分以上かかり、LibreOffice のファイルは最後まで終わらないこともありました
- ドキュメントの Default セル スタイルとまったく同じ見た目の空のパディング セルは、書式付き空白セルに変換されなくなりました。10 行の Excel シートでは約 18 万個のそのようなセルが増えていました。固有の塗りつぶし、罫線、フォント、配置、表示形式、保護を持つ空のセルは、引き続き保持されます
バージョン 2.384.69
修正
- ODS に保存した条件付き書式が Excel に表示されるようになりました。値ルール(等しい、間、より大きいなど)と数式ルールは、その対象セルに標準の ODF
style:map条件としても書き込まれます。これは Excel が読み取る唯一の形式です。以前は Excel が HotXLS の ODS ファイルを、これらのルールなしで開いていました - LibreOffice は、HotXLS が書き込んだ ODS の値ルールを、実際の演算子と境界付きで取り込むようになりました。以前はすべて「0 に等しい」に変換されていました
- ODS ファイルを開くと、Excel や他の ODF プロデューサーが書き込む
style:map条件として保存された条件付き書式を読み取ります。同じルールが LibreOffice 独自の形式でもファイルに含まれている場合は、各ルールを 1 回だけ読みます - ODS ファイルを開くと、LibreOffice 流の値ルールの記述(
=5、between(1,10)、!="x")を読み取ります。以前の HotXLS バージョンのファイルも、これまでどおり開けます
バージョン 2.384.68
修正
- 複数セル範囲やインライン配列に演算子を適用する数式(
=SUM(A1:B1*{10,100})、=SUM((A1:B2>2)*1)、=MAX(A1:B2-1)など)は、Excel 365 と同じ形で保存されます。そのため Excel は HotXLS と同じ結果を表示します。XLSX では単一セルの動的配列数式として、XLS では 1 セルの配列数式として保存されます。以前は Excel が暗黙の交集(=SUM(@A1:B1*@{10,100}))で開いていたため、#VALUE! や誤った値が表示されていました - XLS の配列数式は、Excel と同じく配列形式で参照と配列定数を書き込みます。以前は Excel が HotXLS の書いた配列数式を暗黙の交集で評価していました
- 動的配列数式を含む XLSX ファイル(
SetDynamicArrayFormulaで作成したものも含む)は Excel で開けます。以前は動的配列メタデータが大文字小文字の異なる拡張識別子を使っていたため、Excel がファイル全体を拒否していました
バージョン 2.384.67
修正
- 両エンジンで、テキスト比較が Excel と同じ順序に従うようになりました。大文字と小文字は無視され、システム ロケールの単語単位の並べ替えが使われます。そのためハイフンとアポストロフィは、ほかがすべて同じときの順位決めにしか効かず(
"a-b">"ab"は TRUE)、その他の句読点は数字や文字の前に並びます("a~b">"ab"と"a_b">"ab"は FALSE)。比較演算子、COUNTIF・SUMIF・*IFS 系・データベース関数の>text/<text条件、配列比較、ルックアップ、SORT 系関数、範囲の並べ替えが対象です - VLOOKUP と HLOOKUP はテキストを大文字小文字を区別せずに比較するため、
VLOOKUP("ABC",...)は Excel と同じく "abc" を見つけます
バージョン 2.384.66
修正
- ODS に書き出した数式ベースの条件付き書式を、LibreOffice が認識できるようになりました。ルールは基準セルとともに
formula-is(...)の形で保存されます。これは LibreOffice 自身が書き出す形式です。以前は LibreOffice は、こうしたルールをすべて「セルの値が 0 に等しい」という単純なルールとして読み込んでいました - ODS に書き出す条件付き書式の数式は、セルの数式と同じように、インライン配列・ユニオン・列全体・行全体の参照を変換し、
$マーカーも同様に維持します(COUNTIF($A:$A,A1)>1がCOUNTIF([.$A:.$A];[.A1])>1になります) - ODS ファイルを開くと、LibreOffice が書き込んだ数式ベースの条件付き書式(
formula-is)も、以前のバージョンの HotXLS が書き込んだファイルと同じように読み取れます
バージョン 2.384.65
修正
- ODS に書き出す数式では、列全体・行全体の参照(
A:A、$A:$B、1:1、$1:$2)に OpenFormula の参照形式([.A:.A])を使います。以前は、こうしたセルを Excel が=SUM(A:(A))として開いて #NAME? になったり、数式が捨てられたりしていました。HotXLS が書き出す ODS ファイルは、Excel でも LibreOffice でも同じ数式と値になるようになりました
バージョン 2.384.64
修正
- データベース関数(DSUM、DCOUNT、DCOUNTA、DAVERAGE、DGET など)は、演算子のないテキスト条件を「前方一致」として扱います。Excel と同じ挙動です。条件範囲の
abは abc、ab、AB に一致し、ワイルドカードもこれまでどおり効きます(a?は、a で始まる 2 文字以上の値なら何でも一致)。=abと<>abは従来どおり値全体を比較します
バージョン 2.384.63
追加
- 数式に
{1,2;3,4}のようなインライン配列定数(列はカンマ、行はセミコロンで区切ります。数値、テキスト、TRUE / FALSE、エラー値が書けます)や、(A1:B2,D4)のような参照ユニオンを含められるようになりました。XLS と XLSX の両エンジンが対象です。以前は入力した時点で「invalid formula syntax」エラーになっていました - 配列定数は配列として評価されます(
=SUM({1,2}*{3,4})、=ROWS({1,2,3;4,5,6})、=SUMPRODUCT(A1:A2,{1;10}))。ユニオンは SUM、COUNT、AVERAGE、MIN、MAX、COUNTA で機能し、AREAS、ISREF、INDEX の area_num 引数でも使えます
修正
- XLS ファイルは、Excel が読み取れる形で配列定数を保存します。以前は定数が参照として書き出され、Excel では
=#N/Aと表示されていました。配列定数やユニオンを含む XLS 数式も、読み戻すと数式テキストが保たれます
バージョン 2.384.62
修正
- 交差演算子(2 つの参照の間のスペース)は、両方の参照がカバーするセルを返します。Excel と同じ挙動です。
=SUM(A1:B2 B1:B2)は 2 ではなく 6 になり、共通のセルを持たない参照は #NULL! になり、交差は ROWS、COLUMNS、INDEX のような参照を取る関数に渡せるようになります。これは両エンジン、計算される数式、セルに保存された数式のすべてに当てはまります - XLS ファイルは、交差を含む数式を Excel で使えるまま保ちます。参照先の範囲が参照として書き出されるようになったため、Excel が
=SUM(A1:B2 B1:B2)を=SUM(@A1:B2 @B1:B2)として読んで #VALUE! を表示することはなくなります - 共通セルが複数ある場合、単一の値として使われた交差は、ほかの複数セル参照と同じく、数式の行または列にあるセルを選びます
バージョン 2.384.61
修正
- SUMPRODUCT は
(B1:B2>0)*1、--(B1:B2>0)、B1:B2*C1:C2のような配列式や単一の引数を、XLS と XLSX の両エンジンで受け付けます。以前は #N/A を返していました。形の違う引数は #VALUE! を返し、どれかの引数の中のエラーはそのまま返り、テキストとブール値は Excel と同じく 0 として数えられます - SUM、COUNT、AVERAGE、MIN、MAX、COUNTA の中にある範囲への演算子式は、Excel の動的配列と同じく要素ごとに評価されます。
=SUM((B1:B2>0)*1)は最初のセルだけを使うのではなく、両方の行を数えます - TRUE は算術では 1 として数えられます。以前は
=TRUE*1が -1 を返していました - 要素ごとの比較では、空の要素を 0、""、FALSE のいずれかとして扱って相手側に合わせ、ブール値はブール値として比較します。配列の中でブール値を
&で連結すると TRUE / FALSE になります
バージョン 2.384.60
修正
- セル全体を照合するワイルドカード検索・置換(
FindText、ReplaceText、FindTextIn、ReplaceTextIn、いずれも両エンジン対象)は、Excel と同じやり方でセル全体を照合します。a*bはabcbを見つけられるようになりました。以前は照合が最初のbで止まるため、これは拒否されていました - ワイルドカード検索・置換では、
~は直後の文字をリテラル扱いにし、末尾の~は無視されます。Excel と同じです。a~bはabを、a~~bはa~bを見つけます
バージョン 2.384.59
修正
- XLSX ドキュメントの作成・更新日時(
Created、Modified)と日付値のカスタム プロパティは、タイムスタンプに小数秒(2026-03-15T08:30:00.123Z)やタイム ゾーン オフセット(+08:00、-05:00)が付いていても正しく読み取るようになりました。時刻は「そのままローカル時刻」として扱われる代わりに、ローカル時刻へ変換されます - 日付だけのタイムスタンプ(
2026-07-01)はその日付として読み取ります。時刻はあるがゾーンがない書き方(W3CDTF 形式では許されません)は、引き続きローカル時刻として読み取ります
バージョン 2.384.58
修正
TXLSAutoFit経由の XLSX AutoFit(FitXlsxSheet、FitXlsxSheetColumns、FitXlsxSheetRows、MarkSheet)は、各セルを実際の表示フォントで測ります。2.384.46 以降はワークブックのフォント リストの次のフォントを選んでいたため、太字の見出しが別セルの小さなフォントで測定されて、必要以上に狭い幅になることがありました- AutoFit は、行または列のスタイルからセルが継承するフォントも使います
バージョン 2.384.57
修正
- 「表示精度」(
FullPrecision = False)では、XLSX エンジンも Excel や XLS エンジンと同じやり方で丸めます。パーセント書式は小数 2 桁を余分に保持し(0.1234 を0.0%表示なら 0.1 ではなく 0.123 を保存)、負の値とゼロはそれぞれの書式セクションを使い、半分の値はゼロから離れる方向へ丸めます(2.5 を0表示なら 2 ではなく 3 を保存) - 両エンジンとも「表示精度」の下で桁区切りカンマ(千単位スケール)を尊重します。12345.678 を
0.0,表示(12.3)にすると Excel と同じく 12300 を保存します - 数値表示形式が設定されたセル内のブール値の数式結果を、XLS エンジンの「表示精度」が -1 に変換してしまうことはなくなりました
バージョン 2.384.56
修正
- HotXLS が書き出す ODS ファイルは数式プレフィックスの名前空間を宣言するようになり、LibreOffice がすべての数式セルで #VALUE! を並べる代わりに数式を評価します
バージョン 2.384.55
修正
- ODS に書き出す数式は意味を保ちます。インライン配列は OpenFormula の行区切りを使い(
{1,2;3,4}は 1 行のままではなく{1;2|3;4}になります)、(A1,B2)のような参照ユニオンは 2 つの関数引数ではなく~演算子になり、絶対参照は$マーカーを保ちます - このようなユニオンを ODS から読み戻しても 2 つ目の括弧が足されることはなく、これらの数式は XLSX から ODS、さらに XLSX への往復をそのまま生き残ります
バージョン 2.384.54
修正
- Excel 5.0/95 形式で保存されたパスワード保護付き XLS ファイル(XOR 難読化)が Excel で開けるようになりました。ファイルに格納されるキーはランダムではなくパスワードから導出され、難読化配列は Excel が期待するビット回転を使います。以前は Excel がこうしたファイルすべてに誤ったパスワードを報告し、キーだけ直しても今度はファイルを破損扱いにしていました
- XOR 難読化されたワークブックも同じ修正済み配列で読み込むため、キーがパスワードと一致するファイルは Excel が暗号化するのと同じ方法で復号されます。以前の HotXLS バージョンが書いた XOR ファイルも開けます
バージョン 2.384.53
修正
- 空セルとブール値の比較では、XLS と XLSX の両エンジンで空セルを FALSE として扱います。Excel と同じ挙動です。A1 が空のとき、
=A1=FALSEと=A1<TRUEは TRUE を返し、=A1=TRUEは FALSE を返します。以前は空セルが 0 として比較され、0 はあらゆるブール値より下にランク付けされていました
バージョン 2.384.52
修正
- COUNTIF、COUNTIFS、SUMIF、SUMIFS、AVERAGEIF、AVERAGEIFS、データベース関数は、XLS と XLSX の両エンジンでテキスト条件を Excel のワイルドカード ルールで照合します。
~*と~?はリテラルのアスタリスクや疑問符に一致し、角括弧は普通の文字として扱われ、*も?もない条件は大文字小文字を区別しない単純比較になります。以前は"[x]"のような条件が文字集合として読まれ、"~*"はアスタリスクに一致せず、壊れたパターンは黙って何も一致させませんでした "<>text"条件は数値・ブール値・空セルを「等しくない」と数え、裸の"<>"は空でないすべてのセルを数えます。Excel と同じです。<>の下でのテキスト比較は、大文字小文字を区別しなくなりました- MATCH と XLOOKUP のワイルドカード照合は、
~を直後の文字のエスケープとして扱い、末尾の~は無視します。Excel と同じです
バージョン 2.384.51
変更
- 読み取り専用のセル スナップショットはワークシート名を共有 UnicodeString ストレージに保持します。SheetName は以前と同じ通常の読み書き・代入構文のまま読み書き可能な WideString プロパティになりましたが、生のフィールド アドレスと以前のレコード レイアウトはサポート対象外です。呼び出し側はこのリリースに合わせて再コンパイルが必要です
- 空の宛先ストリームへのレポート出力は、不要なバックアップ スナップショットを省きます。出力に失敗しても、宛先の内容と位置のロールバックは保たれます
- 深い数式監査は数値キャッシュをより効率的に処理しつつ、キャッシュされた Variant 値・評価結果・報告される発見事項を保ちます
修正
- XLS と XLSX のクリップボード貼り付けは、BIFF8 データとフォールバック テキストを 1 つのクリップボード ロックの下で一緒に取得します。両フォーマットが同じクリップボード状態から来るようになります。読める BIFF8 はテキストの相方が取得できないときでも使え、テキストだけが利用できない場合にセルが挿入されることはなく、既存のクリップボード オープン時のリトライ ポリシーも変わりません
- 必須テキストまたは BIFF8 のクリップボード公開に失敗しても、後処理を通じて元の Win32 エラーコードが保たれるため、呼び出し側は呼び出しの直後に障害診断を取得できます
- 単発試行のクリップボード テキスト リーダーは、リトライ動作を変えずに、後処理をまたいでネイティブのデータ取得失敗を保持します
バージョン 2.384.50
変更
- 数式シンボル監査は、スパースな XLS ワークブックでより速く動くようになりました。報告される発見事項とその順序は変わりません
バージョン 2.384.49
修正
- WorkbookAudit デモ(Delphi / C++Builder):
AuditReport.jsonは UTF-8 の BOM なしで書き出されるため、厳密な JSON パーサーでも読めます。XLS シートは AutoFilter の範囲を報告します。別のワークブックを指す XLSX の定義名は、インデックスではなくリンク先のファイルを表示します。コマンドライン実行で保存済みの設定を上書きしなくなりました。フォルダー ボックスが空のときは、ドライブのルートではなくプログラムのフォルダーを使います。サンプルの保存に失敗した場合は、作成済みと報告せずログに記録します - ApiTour デモ:展示用ワークブックの再構築に失敗しても以前のワークブックを残すので、エクスポート ボタンでクラッシュしなくなりました。構築中に例外が出てもワークブックは解放され、HTML エクスポートはエラーをログに記録します。ログには、実際に作成される 5 つの条件付き書式が報告されます
- ExcelGraphics デモ:未対応の画像タイプは、空のシートを保存せずエラーとして報告します。開くダイアログには対応形式だけが並びます
- OdsExport デモは往復チェックでフォント サイズも比較し、チェックまたは保存に失敗すると 0 以外の終了コードを返します。C++Builder 版の OdsImport デモは保存結果を確認し、レポート中に空セルを作らなくなりました
- DataExport / ExportWithColoring デモは、コメントに書かれているとおり先頭列だけを狭くします。C++Builder のエクスポート デモは、保存ダイアログをプログラムのフォルダーで開きます
- デモの readme に、各デモが実際に使う API と出力ファイルを載せました
バージョン 2.384.48
修正
- ドキュメントの作成日時と最終保存日時は、ファイル形式の要件どおり UTC で書き込み、読み込み時にローカル時刻へ戻します。対象は XLSX の
Created/Modifiedとカスタム日付プロパティ、XLS のCreatedDate/LastSavedDateです。従来はローカル時刻を UTC として保存していたため、Excel や Windows エクスプローラーではタイム ゾーンのオフセット分だけずれて表示されていました。HotXLS 自身が書いて読む値は変わりません
バージョン 2.384.47
修正
- XOR 難読化された XLS ファイル(Excel 5.0/95 ワークブックのパスワード保護、
EncryptionType = xletXor):レコードごとに使うキー位置がファイル形式の仕様どおりになり、他のスプレッドシート アプリケーションの読み書きと一致します。従来の HotXLS は自分で書いた XOR ファイルしか読めず、長さが 16 の倍数でないレコードは他のアプリケーションでは文字化けしたデータとして復号されていました
バージョン 2.384.46
修正
- XLSX の AutoFit(
FitXlsxSheet、FitXlsxSheetColumns、FitXlsxSheetRows、MarkSheet)は、常に Arial 10 で測る方式をやめ、各セルのフォント、サイズ、太字、斜体で測るようになりました。Calibri 11 のテキスト、太字の見出し、大きなタイトルが狭すぎる幅になることはありません - XLSX の AutoFit は、保存されている生の値ではなく、表示形式(日付、通貨、パーセント)を通した表示テキストで測ります
- XLSX の AutoFit は、調整後の列幅を
MaxWidthの範囲内に収めます。以前は上限を適用した後でセルの余白を足していました - XLSX の AutoFit は、明示的な幅を持たない列にある折り返しセルの行の高さを、シートの既定幅を基準に算出します。以前はそのようなセルが 1 行として測られ、行が低くなりすぎていました
バージョン 2.384.45
修正
- XLS ワークブック:
ApplyAutoFilterの'>=100'や'=2.5'のような条件は、数値条件として保存されます。以前はテキストとして保存され、Excel がテキストとして比較するため、フィルターが数値の行をすべて隠していました。比較演算子のない値('North'や'100'など)は、Excel が選択したリスト項目を保存する方法に合わせて、従来どおりテキストで保存されます - このような条件では、
Criteria1.DataTypeが 6(テキスト)ではなく 4(数値)を返します。Criteria1.Valueは引き続き 100 と読み戻されます
バージョン 2.384.44
修正
- A1 形式の参照テキストを渡した
INDIRECTが、XLS と XLSX の両方のワークブックで 1 行下・1 列右のセルを読んでいました(INDIRECT("D1")が E2 を返していました)。R1C1 形式のテキストは最初から正しく動いていました。最終行や最終列を超える参照は#REF!を返すようになりました
バージョン 2.384.43
修正
- XLSX ワークブック:数式がシート全体(1,048,576 × 16,384)を参照できるようになりました。IV 列や 65,536 行を超える参照(
=XFD1、=A100000、=SUM(XFC1:XFD1)、Data!C1048576)は、入力時に未知の名前として拒否されたり、エラーに評価されたりしていましたが、現在は解析・計算でき、行や列の挿入に追従してシフトし、書いたとおりに保存されます - XLSX ワークブック:列全体・行全体の参照(
A:A、1:1)がシート全体を対象にするため、ROWS(A:A)は 1048576 を返し、SUM(A:A)は 65,536 行より下の値も含みます。ADDRESSは$XFD$1のような 3 文字の列を返します - XLS ワークブック:65,536 × 256 シートの最終行・最終列への参照(
=A65536、=IV1)を受け付けます。以前は未知の名前として拒否されていました
バージョン 2.384.42
修正
- 従来の
lxRows/lxColsユニット(ソース互換のために残してあり、ワークブック クラスは使いません):1,048,575 を超える行インデックスは行 1 に回り込まずERangeErrorを発生させます。ROW レコードはアウトライン レベルの変更をすべて折りたたみ扱いにしなくなり、固有の設定を持たない列への COLINFO 書き込みはクラッシュせず既定値を使います
バージョン 2.384.41
修正
- ANSI 文字列モードでコンパイルした Lazarus / Free Pascal ビルド:パスにシステム コード ページ外の文字を含む作業ファイルが、クリーンアップで削除されるようになりました。以前は名前が情報を失った状態で保存されていたため、ファイルが temp フォルダーに残っていました
バージョン 2.384.40
修正
TlxCellMMU(パック形式のセル ストア)は、256 行ブロック内で行順を外れたセル書き込みや既存セルへの上書きに対してEInvalidOperationを、負の位置や 65,534 を超える列に対してERangeErrorを発生させます。以前はこのような書き込みが隣の行を黙って壊していました。ライブラリ自身の一括書き込みはすでに行順を守っており、影響を受けません
バージョン 2.384.39
変更
- XLSX ワークブック:
TXLSXWorksheet.TabColorに代入するとTabColorIsAutoも False になり、フォント、塗りつぶし、罫線の色プロパティと同じく、2 回目の代入なしでタブの色が表示されます。その後TabColorIsAutoを True にすると、従来どおりタブの色は消えます
バージョン 2.384.38
変更
- XLS ワークブック:
TXLSWorksheet.AddPivotTableはDestRowとDestColを、Cells[Row, Col]、ドキュメント、XLSX エンジンと同じ 1 起点として扱います。AddPivotTable('Data!A1:C9', 3, 1, ...)はピボットテーブルを A3 に配置します。0 起点の位置を渡していたコードは 1 を足す必要があり、0 やシート外のアンカーはnilを返すようになりました - XLS ワークブック:
TXLSPivotTableの位置(FirstRowからFirstDataColまで)とTXLSPivotCacheのソース範囲(SourceFirstRowからSourceLastColまで)は、新規作成でも既存のピボットテーブルでも 1 起点になりました。同じコードが両エンジンで同じセルを読み、エンジン間でコピーしたピボットテーブルも位置が保たれます
バージョン 2.384.37
修正
- XLSX ワークブック:65,535 行より下に置いたピボットテーブルや、行の挿入でそこへ押し出されたものが、本来の位置を保ちます。以前はアンカーが 16 ビットに切り詰められ、保存したピボットテーブルが違う行に載っていました
- ピボットテーブルの位置プロパティ(
FirstRow、FirstCol、LastRow、LastCol、FirstHeaderRow、FirstDataRow、FirstDataCol)は、WordではなくIntegerになりました - XLSX ワークブック:アンカーがシート外にあるとき、またはコピーするブロックが最終行・最終列を超えるとき、
AddPivotTableとAddPivotTableCopyは Excel が拒否するピボットテーブルを書き出す代わりにnilを返します
バージョン 2.384.36
修正
- C++Builder デモの XlsTables、XlsCondFormat12、XlsCreateChart、InteractiveFeatures は、テキスト列をテキストとして書き込みます。
const wchar_t*をOleVariantに渡すとboolコンストラクターが選ばれ、見出しやラベルがすべて TRUE になっていました - DefinedNames デモは XLS の名前をインデックス 1 から列挙します(以前はインデックス 0 でクラッシュしていました)。WorkbookAudit は XLS ワークブックの名前に含まれる外部参照を数え、FileMonitor は誤綴りの
.xlsxxではなくMonitored.xlsxを書き出します(誤綴りのせいで、シート名の読み取りがすべて失敗していました) - Pictures と OdsExport デモは有効な PNG を埋め込みます。バイト リテラルが文字列変換で壊れており、Pictures ではチャンク長も誤っていました
- ApiTour は
DEMOADDステップを、アクティブな Dashboard シートではなく API Tour シートで評価します(Dashboard では、テキスト引数が起動を中断することがありました)。C++Builder のクラシック ツアーは、ステップの結果を表示するようになりました - FreezePanes、QuickStart、ApiTour は、見出しの行と列だけを正確に固定します。
FreezePanesが取るのは、スクロール可能な最初のセルではなく行数と列数です - ApiTour、CondFormatGallery、OdsExport、WorkbookAudit の条件付き書式の色は、API が期待する BGR で指定されるようになり、データ バーやカラー スケールが意図した色で表示されます。CondFormatGallery は、上位 N、重複、平均より上のルールに目に見えるハイライトを付けます
- MemoryDataExport と HtmlExport は、成功した CSV、HTML、RTF のエクスポートを失敗と報告しなくなりました(これらのライターは成功時に 0 を返します)。MemoryDataExport は、1 つが失敗しても 3 つのファイルをすべて書き出します
- 保存してからファイルを報告したり開いたりするデモ(QuickStart、ExcelGraphics、HotXLSInMemory、OrderCalc、PurchaseOrder、いくつかのコンソール デモ)は、ファイルがロックされているときに成功を告げず、保存結果を確認します
- ConversionWorkbench は、負のライター結果をすべて失敗として扱い、先に古い出力を削除します。残っていた古いファイルが変換の失敗を隠すことはなくなりました。C++Builder 版は全シートを HTML にエクスポートします
- InvoiceTemplate、OrderCalc、DataExport は、Windows の数値・日付書式に依存しなくなりました。小数点にカンマを使うシステムや、年が先頭の日付順のシステムでも、税の数式、価格、日付のしきい値が動作します
- 細かな修正:QuickStart の合計は明るい塗りの上で濃い色の文字を使い、DateSystems は生のシリアル値と有効な 1904 エポックの日付を表示し、CrossWorkbookCopy は結合セルを表の外に保ち、CrossWorkbookCopyXls はカンマ区切りのリストと本物の水色を使い、Hyperlinks は意図したリンク テキストを表示し、SheetProtection は許可する操作を正しく説明・設定し、OdsImport はスキャン中に空セルを作らなくなり、InteractiveFeatures は VBA ペイロードのないワークブックを .xlsx として保存し、WorkbookAudit は暗号化された XLS ファイルとその VBA プロジェクトを報告し、ChartTypes はグラフをデータに重ねず、C++Builder のデータ エクスポート デモは IDE の出力フォルダーから Demos.mdb を見つけ、FormulaFunctions は開き直したセルを確認して開き直しの失敗を数えます
バージョン 2.384.35
修正
- XLSX のフォント、塗りつぶし、罫線の辺、リッチテキスト run に色を代入すると、それだけで反映されるようになりました。これらのオブジェクトは自動色の状態で始まり、明示的な
Color、ForegroundColor、BackgroundColorは、対応するColorIsAuto/ForegroundIsAuto/BackgroundIsAutoフラグも解除しない限り黙って捨てられていました - RGB 色の代入は、それより優先されてしまう以前のテーマ色やインデックス色のソースも解除します。0 以上のテーマ スロットやインデックス スロットを代入すると、自動フラグが解除されます
- クリップボードから XLSX ワークブックへ貼り付けた罫線色、XLSX にエクスポートしたクラシック ワークブックの罫線色、
TXLSXComment.SetFontに渡したフォント色が、自動色に負けて失われる代わりに書き込まれます
バージョン 2.384.34
修正
- ピボット フィールドの項目リストにある小計、総計、空白の項目を、データ項目として読まなくなりました。そのようなピボットテーブルをコピーすると、以前はキャッシュ インデックス -1 を指す項目が書かれていました
- Excel ファイルのピボット フィールドは既定の小計を保持します。Excel はオンのとき
defaultSubtotalを省略しますが、HotXLS は属性がないことをオフと扱っていました - 共有項目に
containsStringがないピボット キャッシュ フィールドは、混在フィールドではなく、スキーマの既定値どおりテキスト フィールドとして読まれます
バージョン 2.384.33
修正
- XLSX エンジンが書くピボットテーブルは、スキーマの軸の値(
axisRow、axisCol、axisPage)を使います。以前のバージョンは有効な OOXML ではないrowAxis/colAxis/pageAxisを書いていました。古い値を含むファイルは引き続き読めます - 値エリアで使うピボット フィールドには
dataField="1"が付き、項目のないフィールドには、スキーマが許さない空の<items>リストが付かなくなりました - 非表示や折りたたみのピボット項目は、ピボットテーブルのコピーや再構築でも状態を保ちます。各フィールドの項目リストは、その小計関数に Excel が期待する小計項目で終わります
- ピボット キャッシュ フィールドは、テキストの
Generalではなく数値のnumFmtIdを持ちます
バージョン 2.384.32
修正
- ODS インポートがインライン配列の行を正しく変換します。
{1;2|3;4}は、Excel が解析できない数式ではなく{1,2;3,4}になります - ODS インポートが参照の和集合演算子を変換します。
SUM([.A1:.B2]~[.C3])はSUM((A1:B2,C3))になります
バージョン 2.384.31
修正
- ODS インポートは、期間に日付部分を持つ時刻セル(
P0Y0M0DT12H30M15Sなど)や、P1Wのような週の期間を、表示テキストへフォールバックせずに読み取ります - ODS の期間で
T区切りより前にあるMは、分ではなく月です。長さが一定でない 0 以外の年や月は、P1Mを 1 分にしてしまう代わりに表示テキストへフォールバックします
バージョン 2.384.30
修正
TGWmfEmfReadは、ファイルが短すぎる、または壊れているとき、プロセス終了までロックしたままにせず、メタファイルを閉じますTGWmfEmfReadは、ヘッダーのインチあたり単位数が 0 の placeable WMF を、0 で割らずにサイズ未指定として扱いますTGWmfEmfReadはBSEWMFのサイズと範囲を 32 ビットのまま保持し、それが表す画像ヘッダーと一致させます
バージョン 2.384.29
修正
- クラシック XLS ワークブック内の 64 KB 以上の WMF / EMF 画像が、オープンと保存を経ても保たれます。格納サイズと非圧縮サイズが 16 ビットに切り詰められており、保存したファイルで Excel が画像をデコードできませんでした
- -32768..32767 の範囲外のメタファイル画像の範囲は、回り込まずにそのまま保持されます
バージョン 2.384.28
修正
TXMLWriterは、テキストや属性値に制御文字、対にならないサロゲート、U+FFFE / U+FFFF が含まれても、不正な XML を出力しなくなりました。XML 1.0 で表現できない文字は除外されますTXMLWriterは要素テキスト内のキャリッジ リターンを文字参照として書き出すため、CR が LF に変わらず、テキストがそのまま読み戻されますTXMLWriterは、ディスク フルなどで出力先ストリームが書いたバイト数より少なく受け取ったとき、黙って切り詰められたファイルを残す代わりにエラーを発生させます
バージョン 2.384.27
修正
- コピーしたブロックより上や左を指す数式(B5 からコピーした
=B4+1など)を含む範囲をコピーすると、参照が 1 行上のままで貼り付けられます。以前は元のセルに固定されたままで、数式が自分自身を参照することもありました - HotXLS が公開する Excel クリップボード データは、コピーしたセルをシート上の位置のまま保持するため、それを読むアプリケーションは元のアドレスを見られます
バージョン 2.384.26
修正
- zlib の文字列ヘルパー(
ZCompressStr、ZDecompressStrとそのインプレース版)は、文字列全体を処理します。Unicode 文字列ではテキストの前半しか圧縮されず、ラウンドトリップでデータが失われていました
バージョン 2.384.25
修正
- 表示テキストにサイト フラグが立っていないクラシック ワークブックのハイパーリンクが、正しく読まれます。また、変わったターゲット タイプのハイパーリンクが、オープン全体を失敗させたり、文字化けしたサブアドレスを返したりすることはなくなりました
バージョン 2.384.24
修正
- ファイル モニターの変更ハンドラーが例外を投げても、モニターが黙って止まらなくなりました。監視を続け、以降の変更も報告します
バージョン 2.384.23
修正
- 壊れたファイルにある -1 未満のティントを持つテーマ色は、エクスポートや印刷でランダムな色になる代わりに、黒に丸められます
バージョン 2.384.22
修正
- API で作成したデータ接続は、ファイル形式が要求する更新バージョン属性付きで保存されます
- 名前や id が欠けている、または重複している接続があっても、ワークブック全体が開けなくなることはなくなりました。そのエントリーはそのまま保持され、変更されずに保存し戻されます
バージョン 2.384.21
修正
- VBA モジュールのソース コードの変更が、Excel で反映されるようになりました。古いコンパイル済みコードがキャッシュのまま実行されることはなく、Office が新しいソースをコンパイルするようにプロジェクトを保存します
- VBA モジュールのソースは、形式が定める圧縮形式で保存されます。以前は各モジュールの最後のブロックが、Office が破損と見なす形で格納されていました
- 壊れた VBA ディレクトリ ストリームでワークブックを開く処理がハングしなくなり、ストリーム情報のないモジュール エントリーがプロジェクトに空のモジュールを残すこともなくなりました
バージョン 2.384.20
修正
- クラシック ワークブックから読み込んだ定義名は、行や列の挿入・削除の後に保存しても、ずれた参照が保たれます。以前はファイルに元の参照が残ったままでした
バージョン 2.384.19
修正
- XLSX シートの行だけ、または列だけをフィットさせても、明示的なサイズを持たない測定対象のすべての列の幅や行の高さが 0 に設定されることはなくなりました
バージョン 2.384.18
修正
- クラシック ワークブックの AutoFilter 条件は、設定したとおりに結合されます。AND 条件が OR として、OR 条件が AND として保存されていたため、Excel が誤った行を表示していました
- ブール値の AutoFilter 条件は TRUE または FALSE として保存されます。以前は Excel がエラー値として読む形で格納されていました
バージョン 2.384.17
修正
- クラシック ワークブックの作成日と最終保存日が Excel と一致します。以前は 1 日遅れて書かれ、1 日早く読まれていました
- 最終保存日は適切なドキュメント プロパティに格納されます。以前はページ数のスロットに保存されていたため、Excel や Windows で日付として表示されませんでした
- 総編集時間は期間として格納されるため、Excel や Windows が約 299 年ではなく実際の分数を表示します。以前のバージョンが書いた時間も引き続き正しく読まれます
バージョン 2.384.16
修正
- インポート チェックの一意値ルールがセルの値を比較するようになりました。以前は列の 2 番目以降の値がすべて重複として報告されていました
- 同じ列に 2 つ目のルールを追加すると、最初のルールがきれいに置き換わります。以前は古いルールが解放されたのにチェックされ続け、チェッカーを解放すると invalid pointer エラーが発生していました
- シートのチェックで、読み取った空白のために空セルを作らなくなりました
- 違反行だけを残す処理が、使用範囲より下に違反があっても行テーブルの外へ書き込まなくなり、見出し行は最初の違反を上書きせずデータの上に挿入されます
バージョン 2.384.15
修正
- ZIP エントリーを小さな単位で読むとき、圧縮データが繰り返しシーケンスの途中で終わっても、エントリー末尾のバイトが失われなくなりました。この問題により、有効な XLSX がエントリー サイズ エラーで開けなくなることがありました
- 2 GB を超えて展開されるデータの解凍は、64 ビット プロセスをクラッシュさせずにエラーを発生させます
- 解凍ストリームは、入力を使い切った後に残りのデータをすべて返し、途中で止まらなくなりました
バージョン 2.384.14
修正
- 1、2、4 ビット/ピクセルのインターレース PNG 画像が、画像バッファの外へ書き込まなくなりました。これらを含むワークブックのエクスポートや印刷で、クラッシュや隣接ピクセルの破損が起きることがありました
- パスが Average または Paeth フィルターで始まるインターレース PNG 画像が、正しくデコードされます
- 2 ビット グレースケール PNG 画像が本来のグレー レベルで描画され、2 ビット グレースケールとパレット画像の単一ピクセルの読み取りが正しい色を返します
- 圧縮データの末尾に余分なバイトがある PNG 画像でデコーダーがハングしなくなり、大きな画像データ チャンクを持つ有効な画像が CRC エラーで拒否されなくなりました
- ビット深度が不正な画像や、チャンク長がファイル末尾を超える画像は、クラッシュしたり数 GB のメモリを確保したりせず、きれいに拒否されます
- PNG 画像に保存されたテキスト チャンクが、切り詰められたり壊れたりしなくなりました
バージョン 2.384.13
修正
- RC4 で暗号化されたクラシック ワークブックは、28 文字以上のパスワードで正しいパスワード ハッシュを使うようになり、Excel で開けます。32 文字以上のパスワードでは、以前は HotXLS 自身でも開けないファイルができていました
- 開く際は 255 文字までの RC4 パスワードを受け付け、以前のバージョンが保存した 28〜31 文字のパスワードのファイルも引き続き開けます
- 長さが大きすぎる不正な RC4 CryptoAPI ヘッダーは、一般的なエラーではなく破損ファイルとして報告されます
バージョン 2.384.12
修正
- SHA-256 を宣言する Agile 暗号化ワークブックが正しく復号されます。データ セグメントが常に SHA-512 の初期化ベクターで復号されていたため、正しいパスワードでもワークブックが開けませんでした
- キー データとパスワード キー暗号化器で異なるハッシュ アルゴリズムを使う Agile ファイルが、パスワード違いと報告されなくなりました
- 形式の上限である 10,000,000 を超えるスピン カウントは、CPU を何時間も占有する代わりに即座に拒否されます
- 切り詰められたパスワード検証子がバッファの外を読まなくなり、
SaveAsEncryptedAgileが書き出す整合性キーが形式の要求する長さになりました
バージョン 2.384.11
修正
SaveAsEncryptedで保存したワークブックが Excel で開けるようになりました。ECMA-376 Standard Encryption のキーは最後のステップなしで導出され、パッケージ サイズもデータと一緒に暗号化されていたため、Excel がパスワードを拒否していました。Excel 2007 がこの方式で暗号化したワークブックも開けます- 以前の HotXLS バージョンが保存した暗号化ワークブックも、正しいパスワードで引き続き開けます
- 長さが大きすぎる不正な暗号化ヘッダーで、オープン中にアクセス違反が起きなくなりました
バージョン 2.384.10
修正
- セル間の数式のコピー&貼り付けや、数式を一緒にコピーするソートで、絶対参照が動かなくなりました。Excel と同じく、
$A$1は固定、A$1は列だけ、$A1は行だけが移動します LOG10(のようにセル アドレスに見える関数名は、数式の貼り付け時に参照としてシフトされなくなり、貼り付けた数式がLOG11(や#NAME?になることはありませんSheet2!A1や'My Sheet'!B3のようにシート名で修飾された参照も、修飾なしの参照と同じく貼り付けでシフトされます=やアポストロフィで始まるテキストをクラシック ワークブックに貼り付けると、テキストのまま保持されます。以前は数式に変わったり、先頭の文字が失われたりしていました
バージョン 2.384.9
修正
[h]、[mm]、[ss].00のような経過時間の表示形式が、色名と取り違えられず時刻形式として認識されます。表示どおりの精度をオフにしている(FullPrecisionをFalseにした)とき、[ss].00形式の期間が単なる小数 2 桁の数値として丸められることもなくなり、数秒の値が 0 になる問題が解消しましたh:mmやmm:ssのように、時や秒とリテラルで区切られた分のトークンは、表示形式の解析で月ではなく分として読まれます
バージョン 2.384.8
修正
- テキスト、HTML、スプレッドシート データを Windows クリップボードへコピーする際、アプリケーション ウィンドウを持たないコンソール プログラムやワーカー スレッドでも、有効な一時的な所有者を使うようになりました。コピーしたデータは、その所有者が破棄された後も利用できます
- クリップボードへの公開に失敗したとき、Windows が受け付けなかったデータ ブロックはすべて解放されます。スプレッドシートの公開が失敗した場合の、付随するテキストと HTML のブロックも含みます
バージョン 2.384.7
修正
- RAD Studio XE5 から RAD Studio 12 Athens でライブラリをソースからコンパイルすると、Free Pascal サポートと
DATEのうるう日修正が入った後に失敗していました。これらのコンパイラーは Free Pascal のバージョン チェックをスキップしつつも構文解析してしまい、DATE(1900,2,29)の特別扱いの背後にある数値キャストを拒否します。どちらの箇所も、サポートするすべてのコンパイラーが受け付ける形に変えたので、RAD Studio の全範囲で再びビルドできます
バージョン 2.384.6
修正
- クラシック .xls ワークブックでコメントを持つセルをコピーするとき(ワークブック内へのコピー、別のワークブックへのコピー、行や列のシフトによるコピーのいずれも)、コメント テキストは残るものの書式付き run が失われ、どのコピーでもメモ全体が 1 つのフォントで表示されていました。現在は run がテキストと一緒に運ばれ、ワークブックをまたぐコピーではそのフォントがコピー先のワークブックに追加されます
- クラシック .xls ワークブックで
Sheets.AddCopyによるシート全体のコピーを行うと、値も書式も持たないセルのコメントが落ちていました。これらのコメントもコピーされるようになりました - .xlsx ワークブックのコメントは、再オープンすると書式付き run のフォント名、取り消し線、色が失われており、保存された run に下線や上付き/下付きが含まれることもありませんでした。これらはすべて、保存と再オープンを経ても保持されるようになりました。
CloneRangeToで別のワークブックからコピーされた run も含みます
バージョン 2.384.5
修正
- クラシック .xls ワークブックのコメントやテキスト ボックスにある書式付き run は、保存でフォントを失わなくなりました。そのような run だけが使うフォントは、保存されるフォント リストから落ちることがありました。最も多いのは、HotXLS が一度保存したワークブックを再保存した場合で、その run は Excel では既定のフォントで表示されたり、その間に追加されたフォントを拾ったりしていました。現在はこれらのフォントが保持され、run はフォント リストの残りと一緒に番号が振り直されます
- コメントとテキスト ボックスの
TextRuns.FontIndexはファイルのフォント番号付けに従い、インデックス 4 は決して使われず、5 番目のフォントがインデックス 5 になります。インデックス付きフォント色のためのパレット予約も、これらのインデックスを同じように読むようになりました
バージョン 2.384.4
修正
- 2.384.1 のフォント番号付けの変更自体がバグでした。クラシック .xls ファイルは Excel と同じ方法でフォントに番号を付け([MS-XLS] §2.5.129)、インデックス 4 は決して使われず、5 番目のフォントがインデックス 5 になるのですが、2.384.1 は単純な 0 起源のカウントに切り替えていました。その結果、保存したワークブックでは Excel でカスタム フォントが 1 つ早いスロットに表示され(最初の 1 つは既定のフォントにフォールバック)、Excel で作成されたワークブックはカスタム フォントが 1 つ遅いスロットにずれて開いていました。保存とオープンは再び Excel の番号付けに従い、Excel 自身が書き込んだり読んだりするワークブックと突き合わせて検証済みです
- リッチテキスト セルは、オープン、保存、ワークブックをまたぐシート コピーを通じて各書式付き run のフォントを保持します。どのセルからも直接使われていないフォントの run も含みます
- 2.384.1 から 2.384.3 までで保存された、フォントを 5 つ以上持つワークブックには、すでにずれた番号付けが記録されています。これは Excel でも HotXLS でも有効なデータと区別がつきません。ソースから再生成するか、影響を受けたフォントを適用し直して再保存してください
バージョン 2.384.3
修正
- 両方のワークブック エンジンで、1900-01-01 から 1900-02-28 の日付が Excel と比べて 1 日ずれていました。Excel の 1900 年暦は存在しない 1900-02-29 を数えるためです。読み書きはドキュメントどおりの補正を適用するようになり、
DATE(1900,2,29)は#VALUE!の代わりに 1900-02-28 を返し、shared-string テーブルはレコード境界をまたぐ埋め込み NUL 文字や 2 バイト コードページにも同期を崩されなくなりました - 比較は Excel と同じく左から右へ連鎖して評価され、
=1<2<3は(1<2)<3と読まれるようになり、Excel と同じく FALSE を返します(比較では TRUE がどの数値よりも上位になります)。以前は1<(2<3)とグループ化されて TRUE を返していました。比較では空のオペランドが 0 と空文字列のどちらにも等しく扱われ、ワイルドカード条件はCOUNTIFとSUMIFの「不等号」にも「等号」と同じように適用されます。SUMIFとその兄弟関数の合計範囲は、切り詰められる代わりに左上セルを起点に条件範囲の形へリサイズされます。またINDIRECTは第 2 引数(絶対 R1C1 テキスト)を尊重し、参照の後ろに続く無意味なテキストを拒否します - basis 0 の
YEARFRACは、DAYS360がすでに実装している NASD の 2 月末補正を適用するようになり、2 月末にまたがる期間も正しく計算されます - セル内に「endstream」というテキストがあるだけで、ストリーム圧縮中に PDF ページが切り詰められることはなくなりました。圧縮をスキップする場合も総ページ数トークンのパッチがストリーム長の整合を保ち、32 ビットを超えるオブジェクト オフセットは交叉参照テーブルを壊す代わりに明確にエラーになり、グレースケールや CMYK の JPEG には
/DeviceRGBではなく実際のカラー スペースが設定されます - ピボットキャッシュのストレージが欠落または切り詰められたワークブックは、読み込み全体を失敗させる代わりに、該当キャッシュを不完全扱いにして開き、エラーを起こす代わりに従来のインライン レイアウトで再保存します
- 宣言された文字列数がレコード チェーンから得られる実数を超える shared-string テーブルは、残りのセルを黙って空文字列にする代わりに、ファイルを開く処理を失敗させるようになりました
バージョン 2.384.2
修正
- クラシック .xls ワークブックを .xlsx に変換する際、下の行にある既存の結合より左側に座る結合セルが黙って落ちていました。スキャンは結合領域のために使用範囲の変数を再利用しなくなりました
- ワークブック拡張リスト内の XML コメントは保存のたびに
<!--マーカーが二重になった状態で書き出され、Excel の修復対象になるファイルになっていました。コメント ノードはバイト単位でそのままラウンドトリップします - 開いた .xls から取り込んだ未対応のワークシート レコードは、リプレイ用に保持されていながらそれ以降の保存では毎回落とされ、開くたびにメモリもリークしていました。現在は標準のレコード ライターを通じてそのまま保存され、そのまま再生されます
- 255 文字を超える定義名や 65535 文字を超える名前のコメントは、保存時に NAME レコードの構造を壊していました。どちらも事前に拒否されるようになりました
- 暗号化の不一致で保存の途中に例外が起きたとき、中断された保存はワークブックとワークシートのレコード バッファをリークしていました。保存はどの終了経路でもバッファを解放するようになりました
- インプレース パッチの書き込みは、置き換えファイルのリネーム前に元ファイルを削除するため、リネームに失敗するとワークブックが失われていました。現在は入れ替えを 1 回のアトミックな置換で行い、失敗しても両方のファイルが残ります
- ダイレクト リーダーのセル参照は、あふれた座標を受け入れる代わりに 16384 列・1048576 行の上限を強制し、不正な整数属性は読み込み全体を中止する代わりに既定値へフォールバックし、1900-01-01 から 1900-02-28 の日付は双方向の変換で Excel の幻のうるう日を考慮します
- タブ、ライン フィード、キャリッジ リターンを含む属性値は空白に潰されずそのままラウンドトリップし、要素テキスト内の閉じていないエンティティは属性の場合と同じく拒否されるようになりました
- 4 GiB 以上の ZIP エントリをそのままコピーするとコピーパスでは正しいフレーミングができません。このようなコピーは破損アーカイブを作る代わりに、ストリーミング ライターと同様に拒否されるようになりました
- corpus ランナーは結果をアトミックに書き込むため、中断された実行が保持済みのエビデンスを壊すことはなく、クラッシュする代わりにビルドのタイムアウトを記録し、壊れた stage-trace 行にも耐えます。LibreOffice 検証器はエビデンスをアトミックに書き込み、ファイル置換プローブはアンチウイルス製品の一覧を再び収集できるようになりました
バージョン 2.384.1
修正
- 5 番目以降のすべてのフォントが、フォント リストの末尾の 1 つ先のレコード インデックスで書き出されていたため、Excel はワークブックを修復し、カスタム フォントは既定フォントに戻っていました。保存と読み込みの両方がドキュメントどおりの 0 起点インデックスを使うようになり、カスタム フォントはラウンドトリップ後も残り、Excel で作ったファイルを HotXLS で開いてもフォントが保たれます
=0^-1や、分数指数を持つ負の底の評価は、#DIV/0!や#NUM!を返す代わりに浮動小数点例外で再計算をクラッシュさせていました- 既存の .xls から読んだ条件付き書式の数式ルールは、素のレガシー ヘッダーの下に孤立した CF12 レコードとして再保存され、Excel はそれを捨てていました。現在はレガシー レコード形式とハイライト書式が保たれます
- 参照交差演算子や、リサイズされた
OFFSETおよび複数セルのINDIRECT結果の暗黙的交差は、間違った軸をたどったり、妥当な 1 行・1 列範囲を拒否したりして、誤ったセルや#REF!を返していました - クラシック .xls ファイルの読み込みで、ストリーミング行リーダーはキャッシュされた数式のブール値をすべて FALSE、キャッシュされたエラーをすべて
#NULL!と報告していました - 複合ファイル コンテナーがヘッダー常駐の 109 FAT セクタを超える大きな .xls ファイルは、DIFAT 拡張チェーンがたどられないため、自己完結型の複合ファイル リーダーで開けませんでした
- カスタム テーブル スタイルは塗りつぶしとフォントの色を赤と青のチャンネルを入れ替えた状態で再読み込みするため、保存したスタイルが誤った色で戻っていました
- ワークブックに埋め込まれた壊れた PNG 画像は、PDF への画像埋め込み中の範囲外書き込みや、際限のない text-chunk スキャンを通じてプロセスをクラッシュさせる可能性がありました。埋め込み PNG は寸法チェックが行われ、不正なチャンクは拒否されます
- 複数矩形の EMF リージョンが外接ボックスとして描画され、明示的なビューポート範囲のない EMF 画像は誤ってスケールされ、上付き文字がキャンバス・印刷・メタファイル出力のベースラインより下に描かれていました
- 自動優先度の BIFF 条件付き書式ルールがすべて優先度 1 を持っており、Excel はこれを修復対象として扱います。自動優先度は XLSX の場合と同様にシートごとに一意になりました
xlSlantDashDotの罫線スタイルが、クラシック .xls の罫線出力でxlDashDotDotとして書き出されていました- 途中で切れた暗号化ワークブックのヘッダー レコードは、パスワード エラー コードを返す代わりに
Openから例外を投げており、不正な画像やワークブック ファイルの解析中にメモリをリークするエラー経路も複数ありました
バージョン 2.384.0
変更
- クラシック XLS のピボットキャッシュは Excel と同じ方法で保存されます。各キャッシュのレコードはそれぞれのストレージ ストリームへ書き込まれ、ストリーム識別子・キャッシュ スコープ・ワークシートまたは名前付き範囲のソース定義はワークブックのグローバル領域に 1 回だけ書き込まれます。旧バージョンの HotXLS が作ったキャッシュは、オプトインのフレーミング アップグレードを有効にしない限り従来のインライン レイアウトのままです
- パスワード保護されたワークブックでは、各ピボットキャッシュ ストリームが独自のレコード ストリームとして暗号化され、ワークブック ストリームの暗号化位置を引き継ぐ代わりに、ストリームの先頭から新たに始まります
修正
- 既存ファイルから読んだキャッシュとコードで作ったキャッシュが混在するワークブックを保存した後、ピボットテーブルが誤ったキャッシュを指すことがありました。ビューからキャッシュへの参照は実際の保存順に従うようになりました
- すべての HotXLS パッケージが 2.379.7 のバージョン リソースを持ったままで、C++Builder でパッケージを再構築するとバージョン リソース自体が失われることがありました。すべてのパッケージが現在のバージョンを持つようになりました
バージョン 2.383.4
修正
- 深い数式監査でも、変更が報告許容範囲内に収まるときに依存数式から変更後の結果が見えなくなることはなく、明示的な適用でこれらの未報告の結果が更新されます
- 両方のワークブック エンジンで、倍精度のキャッシュ結果に対して相対許容範囲が尊重されるようになり、変更のない結果は重複した比較を行いません
バージョン 2.383.3
修正
- ファイルベースのワークブック保存では、完成した XLSX、XLTX、ODS の出力が保存先へ置き換えられないとき、クリーンアップや進行状況コールバックがスレッドのエラー状態を変更する場合も含めて、Windows のネイティブ エラーが保持されるようになりました
バージョン 2.383.2
修正
- レポート帯域や範囲の繰り返しコピーでは、以前のコピーを再スキャンする代わりに定義名サフィックスの検索を再利用し、最初に利用可能だった名前やワークシート スコープ、後の編集で解放された名前の再利用を保持します
バージョン 2.383.1
修正
- 数式依存関係の再構築は、前方の数式行の反復スキャンを避けるようになり、配列出力の参照、シート間の依存関係、検索の順序を保ったまま大きな計算チェーンのコストを下げます
バージョン 2.383.0
追加
- マクロを含まない Excel テンプレートを、出力フォーマットの明示的な選択を通じて XLTX として保存できます。ファイルとストリーム、バッファ出力とストリーミング出力の両方に対応します
- テンプレート出力では、既定のワークブック保存動作を変えずに、数式、定義名、印刷範囲、ワークシートのメタデータが保持されます。VBA を含むワークブックは、保存先への書き込みの前に拒否されます
バージョン 2.382.5
修正
- ふりがな (Phonetic) 設定は、必須となる既定フォントのインデックスを保持するようになりました。インデックスが 0 のときに保存したワークブックを Excel が拒否することはありません
- 動的な印刷範囲の数式や、シート名で修飾した範囲の和集合は、関数にシート プレフィックスを追加したり式の中の参照を切り詰めたりすることなく、ラウンドトリップ後もそのまま維持されます
- 生成されたパーツと保持されたパーツが一意の content-type 宣言を共有するようになり、custom property が不透明なルート リレーションシップ識別子と衝突することもなくなりました
バージョン 2.382.4
修正
- スカラーの定義名参照は現在の行や列との交差を使用し、範囲引数は完全な範囲を保持します。これにより、ローン テンプレートで誤った依存関係サイクルが発生しなくなります
- 整数と浮動小数点が混在する数式演算では、小数点以下 4 桁へ切り捨てられる代わりに、浮動小数点の精度が維持されます
- 再計算では、キャッシュを読む前に利用可能な lookup の参照元を優先して扱うため、支払回数が古いまま残ったり、同種の lookup 結果が更新されなかったりすることがなくなります
バージョン 2.382.3
修正
- AGGREGATE は、未計算のエラーや、独立した選択設定を持つ入れ子の集計を処理し、配列計算を保持したうえで、元のエラー タイプをそのまま伝播します
- クラシック XLS の保存では、明示的な再計算が行われるまで既存の数式キャッシュが保持されます。共有数式や配列数式のルートも対象です。共有数式は、配置先セルに合わせて相対参照を変換します
- 構造化参照は、テーブル名に含まれるバックスラッシュとピリオド、入れ子になった現在行構文、エスケープされた列名をサポートします。数式文字列内の似たテキストは変更されません
- XLSX の条件付き書式は、RGB カラー、明示的なフォント フラグ、下線スタイル、フォント名、サイズ、スキームを保持します
- 未変更のグラフは元の定義とゼロでないアンカー オフセットを保持し、系列の色、位置、サイズが勝手に変わることがなくなりました
- ページ余白の設定では、未指定のページの向きが書き出されなくなりました。クラシック XLS では、インポート時に存在しなかったページ余白は存在しないまま維持され、印刷位置を変える既定値が勝手に追加されることはありません
バージョン 2.382.2
修正
- 大きな繰り返し空行範囲を含む ODS ワークブックは、各行の高さや継承された空白セル スタイルを個別のオブジェクトに展開することなく、開いて保存できるようになりました
- ODS 出力は、明示的な行の高さと、コンパクトに繰り返される書式付き行を保持します。単一行での上書きやクリアされた高さも含まれます。行の高さの範囲は、ワークシートのコピー、行の挿入と削除、タイリング、XLSX エクスポートでも維持されます
バージョン 2.382.1
修正
- 全角の列設定を含む XLSX ワークブックを開いて保存するとき、列メタデータの繰り返しスキャンも、肥大化する列 XML のコピーも行われなくなり、日付やテンプレートのワークブックで起きていたラウンドトリップのタイムアウトが解消されます。列設定自体はそのまま保持されます
- ODS のピボット定義は、producer 拡張を含む継承済みの XML 名前空間宣言を保持するため、保存された XML は整形式のまま保たれます
バージョン 2.382.0
修正
- クラシック XLS ワークブックの保存では、入れ子になった
SUBTOTALセルが外側の小計結果に含まれなくなりました。グループ行を二重に集計する代わりに、元のキャッシュされた合計がそのまま保たれます - XLSX グラフは、各ワークシートが参照する drawing リレーションシップ経由でのみ読み込まれるようになりました。未接続の通常 drawing パーツが、ラウンドトリップの過程でグラフを複製することはもうありません
- OpenDocument のデータパイロット テーブル定義は、ソース範囲、フィールド、ターゲット範囲、ボタン、producer 拡張属性を含めて、ODS 保存後もそのまま残ります
AGGREGATEのオプション 0-7 は、参照形式と配列形式のどちらの計算でも、ドキュメントに記載された非表示行・エラー・入れ子のSUBTOTAL/AGGREGATE選択ルールに従うようになりました
バージョン 2.381.0
追加
- テーブル スライサー (Excel 2013+):
Worksheet.Slicers.Add(Table, ColumnName)で、テーブルの任意の列にスライサー ビューをエンド ツー エンドで作成できます。裏付けとなるSlicer_<column>という名前のスライサー キャッシュ、予約済みの#N/A定義名、ワークシートのslicerList拡張、古い Excel 向けのフォールバック注記を備えたマークアップ互換性の描画アンカーはすべて自動で書き込まれ、ビューの配置、キャプション、スタイルはCaption、ColumnCount、StartItem、StyleName、RowHeight、SetBoundsで制御できます - スライサーのラウンドトリップ モデル:スライサー ビューとキャッシュは、ファイルを開くときにパースして復元されます (共有キャッシュは複数のビュー間で再利用され、最後のビューを削除するとそのキャッシュも削除されます)。未変更のスライサー パーツとアンカーはバイト単位でそのまま再生され、テーブルのキャッシュは、保存時にテーブル id が振り直されてもテーブルへのバインディングを有効なまま保ちます
修正
- 以前のバージョンが書き込んだスライサー キャッシュは、ファイルを開いた時点でファイルが保持していたテーブル id を参照していました。保存時にワークブック全体でテーブル id の振り直しが行われると、古くなった
tableIdが Excel を修復モードに陥れることがありました。現在はバインディングがこの振り直しを追跡し、テーブルとの結び付きを維持します
バージョン 2.380.0
追加
- ウォーターフォール グラフとツリーマップ グラフ:Excel 2016 の拡張グラフ タイプを作成、保存、再オープンできるようになりました。これらは専用の拡張グラフ パーツとしてシリアライズされ、独自のコンテンツ タイプ、ワークシートへのデータ バインディング、古いリーダー向けのフォールバック注記を伴うマークアップ互換性の描画アンカーを備えます
- ツリーマップ グラフは階層カテゴリをサポートします:系列の各カテゴリ レベルは、カテゴリ軸の中にそれぞれ独立したレベルとして書き出され、読み戻されます。リーフと親のラベルは維持されます
バージョン 2.379.4
修正
- 破損した、または悪意のあるクラシック XLS コンテナを開いている間にメモリが壊れることはなくなりました。複合ファイル リーダーは、その一部だけがそこに属していてもセクタ全体をミニ ストリームへコピーし、そのストリームの終端を越えてミニ アロケーション テーブルをたどり、フォーマットが定義しないセクタ サイズを受け入れ、検証されていないカウントからアロケーション テーブルのサイズを決めていました。セクタとミニ セクタのチェーンには現在サイクル保護が施され、終端子なしで自分のフィールドを埋め尽くすストリーム名には上限が設けられます
- 書式テーブルの範囲外にあるセル書式インデックスを指すスタイル レコードが、そのインデックス経由で書き込みを行うことはなくなりました。共有書式リストとキー リストの参照カウンタは下限しかチェックしていなかったため、ファイルから来る 12 ビットのインデックスが配列の範囲外に届く可能性がありました
- ZIP64 拡張情報付きで書き込まれたローカル ファイル ヘッダーがバッファをオーバーランすることはなくなりました。宣言されるヘッダー サイズが、書き込み側が付加する 28 バイトの追加フィールドを考慮するようになったためです。エントリのオフセットとストリーム位置は 64 ビット値として追跡され、ZIP64 エントリはセンチネル値ではなく追加フィールドの長さを使って読み取られ、4 GiB を超えるエントリは剰余として記録される代わりに拒否されます
- Windows の区切り文字を含む ZIP エントリ名が正規化されるようになりました。単一のバックスラッシュはフォワード スラッシュへ変換されないままでした。そのため
..\..\nameは、フォワード スラッシュで分割するディレクトリ トラバーサル検査を通過していました [a-のような上限のないマスク範囲がマスクの終端を越えて読み取ることはなくなり、文字セットで始まるマスクの構築でマスクごとにセットがリークすることもなくなりました。どちらも COUNTIF と SUMIF の条件から到達できます- ワイルドカードを使ったセル全体の検索では、パターンがセル全体に一致することが求められるようになりました。これはドキュメントされた動作と、ワイルドカードなしのセル全体比較の両方と一致します。以前はパターン
abcを指定したFindTextが、abcdefを含むセルにも一致していました - 表示精度モードは、数値形式に桁プレースホルダーを含まないセルを丸めなくなりました。名前としての
General、@によるテキスト、リテラルのみの書式で書式設定されたセルは、整数へ丸められていました - 共有文字列テーブルは、書き込む数より多い一意の文字列数を報告しなくなり、削除された文字列のリッチ テキスト ランがそのスロットを再利用した別の文字列に結び付けられることもなく、フォーマット後尾のせいだけでオーバーフローした文字列に対して、オプション バイトしか持たない継続レコードを出力することもなくなりました
- RTF インポートで非 ASCII 文字が重複しなくなりました。
\\uNエスケープの後には\\'hhとして書かれたフォールバック文字が続きますが、スキップ ロジックはこれを認識していなかったため、各文字がテキストとしても出力されていました。スキップされるグループは\binNの生ペイロードを尊重するようになり、ワークシート グリッドより幅が広い、または高さが大きいテーブルは、例外を発生させる代わりに端で停止します - XML が定義する文字範囲の外にある数値参照は、埋め込み NUL、単独のサロゲート、ラップされたコード ポイントを生成する代わりに、読み取り時に拒否されるようになりました。タブ、ライン フィード、キャリッジ リターンは、空白へ正規化される代わりに、文字参照として OPC ラウンドトリップを通じて維持されます
- CSV インポートは
SkipRowsの値を解析間で保持するようになりました。以前はその場でデクリメントされていたため、同じローダーで読んだ 2 つ目のファイルは何もスキップしませんでした - 保持するパーツを判定する際に、
xl/tables/パーツが認識されるようになりました。以前はプレフィックス比較が 1 文字分短く、一度も一致しませんでした
バージョン 2.379.3
修正
- HTML インポートが 10 進文字参照をデコードするようになりました。
éや他のすべての&#NNN;形式は、文字そのものではなく NUL 文字を生成していました。変換が結果とエラー位置を同じ変数に書き込み、成功コードが値を上書きするためです。16 進参照は影響を受けませんでした。両形式とも、迷子の文字を出力する代わりに、表現可能な範囲外の値を拒否するようになりました - HTML エクスポートは、内部ハイパーリンクのアンカー ターゲットを構築する際にサブアドレス全体を保持するようになりました。255 文字を超えるサブアドレスは切り詰められており、生成されたアンカーがリンクと一致しなくなっていました
バージョン 2.379.2
修正
AddPictureまたはImages.AddFromFileで挿入された GIF が、論理画面記述子からサイズを取得するようになりました。以前はすべての GIF が実際の寸法に関係なく 100 × 100 ポイントを報告し、画像が伸びたり潰れたりしていました- BMP のサイズ決定は、ファイルが実際に宣言しているビットマップ ヘッダーを読み取ります。16 ビット寸法の
BITMAPCOREHEADERが 32 ビット フィールドとしてではなく正しく解釈され、負の高さを持つトップダウン BMP が負の画像高さを生むこともなくなりました - JPEG のサイズ決定は、ベースライン、拡張シーケンシャル、プログレッシブだけでなく、すべての SOFn フレーム マーカーを受け付けるようになりました。以前はロスレス、算術符号化、階層型の JPEG は 100 × 100 の既定値へフォールバックしていました
バージョン 2.379.1
修正
- WMF 画像が、SVG、PDF、ページ分割出力向けのベクター シーンとしてデコードされるようになりました。2.363.0 以降、デコーダーは各レコードを 16 ビット サイズ + 関数コードとして読み取っていましたが、メタファイル レコードは 32 ビット サイズで始まるため、Windows や Office が書き出したすべての WMF は最初のレコードで停止し、画像はラスターのプレースホルダーへフォールバックしていました。レコードは
[MS-WMF] §2.3に従ってフレーミングされるようになり、ペン、ブラシ、フォント、テキスト、図形、ポリゴンの各パラメーターが指定されたオフセットから読み取られます META_STRETCHDIBは転送先矩形より前に DIB があることを期待し、40 バイトのビットマップ ヘッダーを想定していました。現在はフォーマットの指定どおり矩形が DIB の前に来ると解釈し、ピクセル ビットを位置特定する際にBITMAPV4HEADER/BITMAPV5HEADERとカラー テーブルを考慮し、このレコードはXDest、YDestにDestWidth×DestHeightサイズの画像コマンドを寄与しますMETA_EXTTEXTOUTはETO_OPAQUEまたはETO_CLIPPEDのいずれかが設定されている場合にオプションの矩形をスキップするようになりました。不透明な背景で描かれたテキストが誤ったオフセットから読み取られることはなくなります- ページ レンダリングに埋め込まれたメタファイル画像は、固定 40 バイトではなくビットマップ ヘッダーが示すオフセットからピクセルを読み取ります。
BITMAPV4HEADERやBITMAPV5HEADERの画像がずれたカラー ノイズとして描画されることはなくなります
バージョン 2.379.0
追加
TGridToXLSが Free Pascal ランタイム パッケージの一部になり、Lazarus のTDBGridが VCL と同じ方法でエクスポートされます。明示的な列はタイトル、フォント、色、配置、幅、表示状態を保持し、明示的な列のないグリッドはデータセット フィールドごとに 1 列をエクスポートし、結果は同じSaveAs呼び出しで XLS、XLSX、HTML、RTF として保存できます
バージョン 2.378.4
修正
- TEXTBEFORE と TEXTAFTER は、一度も代入されていないローカル変数から引数の数を読み取っていました。そのため、スタックの残り内容によっては、オプションの instance、match-mode、match-end、if-not-found 引数が無視されたり、有効な呼び出しが #VALUE! で拒否されたりしていました。現在は呼び出し自体から引数の数を取得します
- 高さまたは幅が 1 以外にリサイズされた OFFSET を単一セルで評価する際、まだ計算されていないアンカーに対して数式セルを比較していました。そのため暗黙的な交差が #REF! や誤ったセルを返す可能性がありました。現在はシフトされたアンカーを交差テストの前に計算します
バージョン 2.378.3
修正
- Free Pascal では、空の文字列の一致や置換が正規表現エラーを発生させていました。そのため
regexreplace(Code,"[^0-9]","")のようなレポート式は、フィールドが空のときに常にREPORT_EXPRESSION_INVALID_REGEXで失敗していました。FPC バックエンドは現在、Delphi のTRegExと同じように応答します。^$や.*のように空の文字列を受け付けるパターンはそれに一致して置換テキストを返し、[0-9]+や\s+は一致なしを報告します
バージョン 2.378.0
追加
- HotXLS が、Free Pascal 3.2.2 と Windows、Win32、Win64 上の Lazarus/LCL でビルドできるようになりました。XLS と XLSX のブック API、数式、スタイル、ダイレクト リーダーとライター、データセット エクスポート、レンダリング ヘルパーはすべて、Delphi Unicode 文字列セマンティクスを持つ FPC コードから動作します。Free Pascal および Lazarus のサポートのトピックに、アプリケーションのセットアップとバックエンドの違いをまとめてあります
- ランタイム パッケージ
Lib/FPC/HotXLSLaz.lpkは Lazarus で開くことも、build-FPC-Lib.cmdによるコマンド ラインからアーキテクチャごとにビルドすることもできます。Tests/Lazarus配下の Lazarus スモーク スイートは、ブックのラウンドトリップ、圧縮、暗号化、COM ストリーム、グラフィックス、テキスト読み取り、正規表現、データセット エクスポート、レポート式をカバーします - FPC ビルドは ZIP、圧縮ストリーム、AES にバンドルされた Pascal バックエンドを使用するため、パスワード保護されたものを含む XLSX ファイルに、zlib DLL も Delphi がリンクする事前ビルド済みオブジェクト ファイルも必要ありません。PNG はアルファ チャネルを保持し、EMF の描画と再生は Windows メタファイルを経由し、マルチページ TIFF エクスポートは GDI+ ランタイムを使用します
バージョン 2.377.2
追加
- HotXLS が書き込むクラシック XLS のピボット キャッシュは、フォーマットがキャッシュ ヘッダーの基準として定義しているレコードを運ぶようになりました。ヘッダーのストリーム ID とソース データ タイプは、一度も書き込まれない SXStreamID と SXVS を名指ししており、どのリーダーも両者を検証できませんでした。現在は両方のレコードが書き込まれ、両方のヘッダー フィールドが同じ値から取られるため、構成上必然的に一致します
- キャッシュ サブストリームは SXDBEx も運びます。これは Excel が書き込むすべてのキャッシュでキャッシュ ヘッダーの後に続くレコードで、キャッシュが最後に更新された日時を記録します。
TXLSPivotCache.RefreshedDateは、XLSX で既にそうであったのと同じく、クラシック XLS の保存と再読み込みを通じて維持されるようになりました TXLSPivotCache.StreamIdとTXLSPivotCache.SourceDataTypeがこの 2 つの値を公開します。これらを明示しているファイルからは読み戻し、2 つのレコードとキャッシュ ヘッダーに書き込みます。AddPivotTableで構築されたキャッシュは、ストリーム 0 とワークシート範囲のソースを報告します
変更
- 古いキャッシュ フレーミングのオプトイン書き換え(
UpgradeLegacyPivotCacheFraming)も、この 3 つのレコードを出力するようになりました。アップグレードされたキャッシュは、正しくフレーミングされるだけでなく、新規に書き出されたものと同じ意味で完全になります。SXStreamID、SXVS、SXDBEx を既に持っているキャッシュは、持っていたものをそのまま保持します。HotXLS が書き込まない数式レコードを SXDBEx が主張するキャッシュは、生データのリプレイのままです - 読み込みに影響はありません。このリリースより前に書かれたファイルは以前とまったく同じようにロードされ、HotXLS がまだモデルを持っていないキャッシュ レコード(ソース範囲を名指しする DConRef や DConName など)は、ラウンドトリップを通じてこれまでどおりバイト単位で保存されます
バージョン 2.377.1
追加
- ブックは現在、古いピボット キャッシュ サブストリームを保存時に書き直すよう要求できます。
TXLSWorkbook.UpgradeLegacyPivotCacheFramingは既定ではオフです。オンにすると、v2.377.0 より前に HotXLS がキャッシュを書き込んだクラシック XLS ファイルは、修正された SXDB / SXFDB / SXDBB ライターを通じてキャッシュを再出力して保存されます。これにより、v2.376.1 から v2.376.7 までの一連のピボット キャッシュ修正が、新しい出力だけでなく既存のファイルにも届きます - アップグレードは、何のコストもかけないと証明できる場所にのみ適用されます。ファイルから読んだキャッシュが再出力されるのは、そのサブストリーム全体が HotXLS がモデル化しているレコードで構成され、そのフレーミングが HotXLS 自身が誤って書き込んだものである場合だけです。それ以外、Excel が生成したすべてのキャッシュや、SXDBEx のように HotXLS が不透明なバイトとしてのみ保持するレコードを含むキャッシュは、オプトインを有効にしていても自分のバイトをリプレイし続けます。
TXLSPivotCache.CanUpgradeFramingがキャッシュごとの判定を報告し、RawFramingIsLegacy/RawModelIsCompleteがその根拠となる 2 つの側面を報告します - アップグレードされたキャッシュは、他のキャッシュより前に移動されるのではなく、そのサブストリームがあった場所に書き込まれます。そのためピボットテーブル ビューは、保存前に名指ししていたキャッシュを引き続き解決できます
修正
- ファイルから読んだクラシック XLS のピボット キャッシュについて、生データ リプレイのフラグをクリアしてライターへ渡すと、モデルのものとファイルのものという 2 つのキャッシュ サブストリームが生成されていました。現在は 1 つしか生成しません
バージョン 2.377.0
追加
- クラシック XLS のワークシートが埋め込みグラフ オブジェクトを受け付けるようになりました。ワークシート上の
AddChartObjectは、シート グリッドにグラフ フレームを固定し(OBJ タイプ 5 のホスト コントロール図形と MSODRAWING クライアント アンカー)、共有グラフ ビルダーを通じてグラフ サブストリームを構築し、シートのレコード リストに乗るため、ファイル レイアウトがリーダーがオープン時に再接続する内容と一致します。ラウンドトリップすると、フレームはグラフ モデル(系列、タイトル、範囲参照はそのまま)とともに戻ってきます
修正
- SeriesText レコードが文字列ペイロードを正しい幅でデコードするようになりました。リーダーはバイト数を期待する場所に文字数を渡していたため、16 ビットのキャプションと系列ラベルは長さの半分に切り詰めて戻ってきました(5 文字のタイトルが 2 文字として読まれていました)
バージョン 2.376.7
修正
- クラシック XLS ファイル内のピボットテーブルの背後にあるキャッシュ行は、[MS-XLS] 2.4.276 の記述どおりに書き込まれます。キャッシュされたデータの行ごとに 1 つのレコードで、キャッシュ フィールドごとに 1 つのインデックスを保持します。幅は 1 バイトで、255 を超える一意の値を持つフィールドは 2 バイトです。HotXLS は以前、独自の方式で書き込んでいました。各フィールドを値の数を数えられるぎりぎりのビットへ押し込み、多くの行を 1 つのレコードに詰め込む方式で、他のプログラムはデコードできず、フィールド定義が既に運んでいた 255 超フラグとも矛盾していました
- Excel は現在、HotXLS のピボット キャッシュが保持する値を読み取れます。以前はブックを開くときにソース範囲から値を再構築するしかなく、ソース データがその後移動、変更、削除されたブックはそれに依存していました
- キャッシュ行も読み戻されるようになりました。以前の HotXLS はこのレコードを完全に無視していたため、ファイルからロードしたキャッシュでは、すべての行がすべてのフィールドの最初の値を指して戻り、そのキャッシュから計算されるものはすべて誤った値に従っていました。これは HotXLS が書いたブックだけでなく、Excel が書いたブックにも等しく当てはまります
- 値を 1 つも持たないキャッシュ フィールドはキャッシュ行に何も寄与せず、255 を超える値を持つフィールドは、フォーマットが要求するより広いサイズで保存および読み取りされます
- HotXLS v2.376.6 以前が書き込んだブックも、キャッシュ行をそのままにロードできます
バージョン 2.376.6
修正
- クラシック XLS ファイルのピボット キャッシュ ヘッダー レコードが、[MS-XLS] 2.4.275 の記述どおりにレイアウトされるようになりました。この仕様ではレコード数は 4 バイト フィールドですが、HotXLS は 2 バイトで書き込んでいたため、その後ろのすべてのフィールドが 1 つ前の位置に出力され、レコードは 4 バイト長くなっていました。キャッシュ フィールド数がレコード数の中に収まり、フラグ ワードはストリーム識別子に着地し、フィールド数はキャッシュを最後に更新したユーザーの名前の長さに着地して、レコードが短すぎて格納できない名前を約束していました
- ヘッダーのフラグは現在、キャッシュの実際の姿を示します。レコードがファイルに保存されているか、ブックを開くときに更新するか、更新が許可されているか、更新クエリをバックグラウンドで実行するかです。これら 4 つの設定は既に XLSX 出力に現れていましたが、キャッシュを最後に更新したユーザーの名前とともに、クラシック XLS ファイルでも運ばれるようになりました
- ヘッダー内のソース データ タイプは、フォーマットが定義していない値のままにされる代わりにワークシート範囲として書き込まれ、フィールド数と使用レコード数はキャッシュの実際の合計を運びます
- 更新者の名前はレコードが許す 255 文字へ切り詰められ、名前のないキャッシュは空のプレースホルダーの代わりに名前を一切書き込みません
- HotXLS v2.376.5 以前が書き込んだブックもロードでき、キャッシュのレコード数も引き続き提供されます。古いヘッダーに保存されていたのはそれだけです。ライターはレコード数の後ろのすべてのフィールドを、キャッシュから一度も読み取ることのない固定値で埋めていました。そのため、そのようなファイルのフラグと更新者名は、復元された値ではなく既定値として戻ってきます
バージョン 2.376.5
修正
- ピボット キャッシュのフィールド名が、クラシック XLS ファイルの保存と再読み込みを通じて維持されるようになりました。名前の長さがキャッシュ フィールド定義内の誤った場所(常に $FFFF であるインデックス)から読まれていたため、名前は毎回捨てられ、すべてのキャッシュ フィールドが名前なしで戻っていました
- キャッシュ フィールド定義レコードは、[MS-XLS] 2.4.283 の記述どおりにレイアウトされます。grbit、ifdbParent、ifdbBase、citmUnq、csxoper、cisxoper、catm、そしてフィールド名の順です。HotXLS は以前、レコードに存在しない 3 つのフィールド(サブタイプ項目インデックス、数値形式、2 つ目の項目数)を書き込み、仕様がキャッシュ内のフィールド数で上限を設けているインデックスに $FFFF を入れていました
- レコードのフラグ ワードは現在、それが属するフィールドを記述します。フィールドがキャッシュ項目を運ぶか、それらの項目に数値、日付、テキストが含まれるか、最小値と最大値を計算できるか、日付でない項目があるか、255 を超える項目があるかです。レコード内の項目数は、実際に後に続くキャッシュ項目レコードの数と一致するようになりました
- レコードが許す 255 文字を超えるキャッシュ フィールド名は、全長のまま書き出される代わりに 255 文字へ切り詰められます
- HotXLS v2.376.4 以前が書き込んだブックも、キャッシュ フィールド名をそのままにロードできます。旧レイアウトでも名前は同じ位置を占めていたため、名前を持つものがそれを失うことはありません
バージョン 2.376.4
修正
- クラシック XLS ファイル内のピボットテーブル キャッシュは、[MS-XLS] が割り当てるレコード番号を使用するようになりました。キャッシュ サブストリーム内の 7 つのレコードが、他のレコードの番号で出力されていました。キャッシュ フィールド定義が $00C8(SXDBB)、フィールド タイプが $00FB(SxFormat)、レコードごとの項目インデックスが $00C5(SXDI)、数値・ブール・エラー・日付・空白のキャッシュ値が $00CE、$00CF、$00D0、$00CC、$00CB(SXDtr、SxNil、SXTbl、SXInt、SxErr)です。現在は SXFDB $00C7、SXFDBType $01BB、SXDBB $00C8、SXNum $00C9、SxBool $00CA、SxErr $00CB、SXDtr $00CE、SxNil $00CF で出力されるため、Excel は HotXLS が書いたピボット キャッシュを読め、HotXLS は Excel が書いたものを読めます
- ピボット キャッシュ フィールド内の空白値がラウンドトリップを通じて維持されるようになりました。ライターは常に空白値を出力していましたが、リーダーにはそれに対応するケースがなく、ロード時にすべての空白が失われ、そのフィールドで後続の各値が 1 つ後ろへずれたため、ピボットテーブルの項目参照が誤った値を指していました
- HotXLS v2.376.3 以前が書き込んだブックも、キャッシュ値をそのままにロードされ続けます。各ピボット キャッシュ サブストリームは、自身のフィールド定義レコードから判断して、書き込まれたときの番号体系で読み取られ、既存のファイルから読み取ったキャッシュは、入ってきたときの番号で書き戻されます。そのため古いブックの再オープンと保存が、そのバイトを静かに変更することはありません
バージョン 2.376.3
修正
- クラシック XLS ファイル内のピボットテーブル ビューは、SXEx 拡張レコードを [MS-XLS] が割り当てる番号 $00F1 で書き込むようになりました。以前のライターは $00C6 を使用していました。これは SXDB、つまりピボット キャッシュ ヘッダー レコードです。ビュー拡張を探す Excel は何も見つけられず、キャッシュ ヘッダーを名乗るレコードがワークシートの途中に座ることになりました。そのため v2.376.1 のフィールド レイアウト修正の後でも、SXEx が運ぶビュー プロパティは失われていました
- HotXLS v2.376.2 以前が書き込んだブックも、ピボットテーブル ビューをそのままにオープンできます。ワークシート内では古い $00C6 が本来のビュー拡張として引き続き受け入れられ、ピボット キャッシュ サブストリーム内では $00C6 がキャッシュ ヘッダーとして引き続き読み取られます。以前ロードできたものがロードできなくなることはありません
バージョン 2.376.2
修正
- 明示的なシーンなしで作成されたクラシック XLS の 3-D グラフ シートが、ドキュメントに明記されたフラグを運ぶようになりました。既定の Chart3d フラグ ワードは、自動スケーリング ビットの代わりにレコードが予約するビットを設定していたため、既定の 3-D グラフはクラスタリング オン、自動スケーリング オフで再オープンされ、書き込むと主張していたシーンに一度も一致しませんでした。明示的な 3-D シーンを渡すグラフは影響を受けず、そのバイトは変更されていません
バージョン 2.376.1
修正
- ピボットテーブル ビューは、フィールドがリーダーが期待する位置に収まった SXEx レコードを書き込みます。固定 24 バイトのボディが 2 フィールド分ずれていたため、実際には続かない 2 つの書式レコードを告知し、すべてのオプション文字列の長さをゼロのままにしていました。これは [MS-XLS] 2.4.282 が禁じるもので、それらの長さは不在マーカーか、1 から 255 の実際の長さのいずれかでなければなりません。現在はボディが正しいフィールドから始まり、すべてのオプション文字列に不在の印を付けるため、Excel は壊れたブロックではなくビュー プロパティを読み取ります
- SXEx レコードの長さはハードコードされた定数ではなく、実際に書き込まれたバイトから導出されます。そのため v2.376.0 より前に起こったような、宣言サイズとペイロードの乖離はもう起こりません
バージョン 2.376.0
追加
- クラシック XLS のグラフ シートをピボットテーブル ビューへリンクできるようになりました。新しい
AddChartSheetオーバーロードは、ソースとなるピボット ビュー名とフィールド キャプション非表示フラグを受け入れ、Chart Sheet Substream ABNF に従って Units の前にあるグラフ グローバル内の SXViewLink($0858, [MS-XLS] 2.4.316)と PivotChartBits($0859, 2.4.196)レコードに書き込みます。グラフ検査は両方のレコード(8 ビットおよび 16 ビットの文字列エンコーディングを含む)を型付きモデル(ピボットグラフ マーカー、ソース ビュー名、キャプション フラグ)と正規のセマンティック スナップショットへデコードして戻し、リンク レコードを持たないグラフは印なしのままです
修正
- ピボットテーブル ビューは正しいサイズの SXEx レコードを書き込みます。エミッターは 24 バイトのボディを宣言しながら 26 バイト書き込んでいたため、余分な 2 バイトが次のレコード ヘッダーを期待する位置に着地し、ビュー以降のすべてのレコード(ワークシートの EOF と、ピボット化されたシートに続くグラフ シート サブストリームがあればそれも含む)が誤って解析され、ピボットテーブルとグラフ シートを組み合わせたブックはグラフを欠いた状態で再オープンされていました
- クラシック グラフの近似曲線表示名が 8 ビット文字列ペイロードを正しくデコードします。以前のワイド文字リーダーは、Excel が 8 ビット文字で書き込むレコードに対して空の名前を返していました
バージョン 2.375.0
追加
- クラシック XLS のグラフ系列がテーマ色の塗りつぶしを受け付けます。系列ごとのスタイルは現在、テーマ カラー インデックスとティントを運び、[MS-XLS] 2.4.131 に従って AreaFormat の後にある GelFrame レコードへ書き込まれます。これは OfficeArt テーマ カラー拡張(fillType、平坦化された RGB を持つ fillColor、fillColorExt スキーム インデックス、fillColorExtMod ティント ペイロード)を使用します。明示的な塗りつぶし色が指定されない場合、平坦化された色はティントを適用したうえで既定の Office テーマから解決され、グラフ検査はテーマの意図を型付きモデルと正規のセマンティック スナップショットへデコードして戻します
修正
- フル マルチバージョン ライブラリ ビルドが、サポート対象のすべてのコンパイラで再びグリーンになりました。新しいコンパイラだけが受け付けるキャストと呼び出し(Int64 値の Extended 型キャスト、整数のハードな Double キャスト、オーバーロード解決における nil の手続き引数、protected である TPicture.LoadFromStream へのアクセス、VCL 世代間で変わった GdiplusStartup トークン型)が、XE5 から現行リリースまでバージョンセーフにされました
バージョン 2.374.0
追加
- 3-D グラフ シーンが構成可能になり、検査もできるようになりました。新しい
AddChartSheetオーバーロードは、回転、仰角、パースペクティブ距離、高さ、奥行き、ギャップ、およびクラスタ、自動スケール、直角スケーリング、2 次元壁の各フラグを受け入れ、これらは [MS-XLS] 2.4.46 に従って Chart3d レコードへ書き込まれます。グラフ検査は読み取り時にシーンを型付きモデル(Scene3D)へデコードして戻します。以前のオーバーロードを使うグラフは、Excel と一致する既定値をバイト単位で出力し続けます
バージョン 2.373.0
追加
- クラシック XLS のグラフ系列が、系列ごとのスタイル上書きを受け付けます。線の色とスタイル、塗りつぶし色、マーカーの形状、色、サイズは、自動フラグをクリアしたうえで系列書式ブロックへ書き込まれるため、Excel は指定された値を尊重します。グラフ検査は LineFormat、AreaFormat、MarkerFormat の各レコードを型付きモデルと正規のセマンティック スナップショットへデコードして戻します
バージョン 2.372.0
追加
- クラシック XLS のグラフ系列が、項目と値に名前付き参照や外部参照を受け付けます。素の A1 範囲でないテキストはブックの数式エンジンを通じてコンパイルされ、BRAI レコードはコンパイル済みの数式を保持するグラフ領域項目を運ぶため、保存パスは現在の定義名ストア インデックスでそれを再シリアライズします。グラフ検査は読み取り時に参照を名前へデコンパイルして戻し、解決できないテキストは空のプレースホルダー BRAI を保持します
バージョン 2.371.0
追加
- クラシック XLS のグラフ系列を第 2 軸グループへバインドできるようになりました。
AddChartSheetで系列に印を付けると AXESUSED が 2 に上がり、[MS-XLS] の Chart Sheet Substream ABNF に従って、固有の項目軸と値軸、固有のグラフ グループを備えた 2 つ目の AxisParent ブロックが出力され、系列は SerToCrt を通じて第 2 グループへ振り分けられます。グラフ検査は読み取り時に系列ごとのグラフ グループ バインディングをデコードします
バージョン 2.370.0
追加
- クラシック XLS のグラフ系列がデータ ラベルを受け付けます。
AddChartSheetは、値を表示、パーセントを表示、項目名を表示、ラベルとパーセントを表示、バブル サイズを表示、系列名を表示の各フラグ([MS-XLS] 2.4.5 のビット レイアウト)を持つ AttachedLabel レコードを出力し、グラフ検査は AttachedLabel と、区切り記号を含む DataLabExtContents 拡張ラベル レコードの両方を型付きモデルと正規のセマンティック スナップショットへデコードして戻します
バージョン 2.369.0
追加
- クラシック XLS のグラフ検査が軸グループ構造をデコードするようになりました。AXESUSED は宣言された軸グループ数を表面化し、すべての軸が第 1 または第 2 の AxisParent グループのどちらに属するかを記録します。グループ インデックスは正規のセマンティック スナップショットへ運ばれます
バージョン 2.368.0
追加
- BIFF グラフの近似曲線と誤差バーが、読み取り時に型付きグラフ モデルへデコードされるようになりました。各 Series ブロックは、回帰の種類、次数または期間、切片(自動を含む)、数式と R-2 乗の表示フラグ、予測期間と後方予測期間、表示名を持つ Trendline レコードと、方向、値の型、端部キャップ、大きさを持つ SerErrBar レコードを表面化します
- クラシックのセマンティック スナップショットは、例外を発生させる代わりに近似曲線と誤差バーを共有の正規コンテナへマッピングします。そのため高度なグラフ系列を持つブックは決定論的に比較され、近似曲線の変更は正規ストリームに反映されます
バージョン 2.367.0
追加
- RecalcAndVerifyEx が両方のブック エンジンに対して詳細な計算監査を実行します。すべての数式は依存関係グラフを通じて 1 回評価され、分離された結果オーバーレイに入るため、依存セルは古いキャッシュではなくこのパスを読みます。評価の失敗は結果コード付きで型付きカテゴリ(サポートされない引数、循環参照、拒否または欠落した外部参照、スキップされたデータ テーブル、キャンセル、内部失敗)に分類され、各失敗は上限付き呼び出しスタックを運びます
- 監査は、安定したシート、行、列、カテゴリの順序による問題予算、ノード境界でキャンセルできる進行状況シンク、構成可能な数値許容誤差、およびブック構造が変更されていない完全成功パスの後に再計算値をアトミックにコミットするオプトインの ApplyResults を尊重します。既定は厳密に読み取り専用のままです
変更
- 既存の RecalcAndVerify と CalculateAndVerify の各エントリ ポイントは、新しいレポート フィールドを共有しつつ、互換性シムとして以前の浅い比較のセマンティクスを維持します
バージョン 2.366.0
変更
- PDF エクスポートは現在、すべてのオブジェクトを宛先へ直接ストリーミングする順次オブジェクト ライターを通じて文書を組み立てるため、文書全体の中間コピーは構築されません。署名されていない文書は順方向専用ストリームへ直接ストリーミングされ、署名された文書は、単一の順方向コピーの前に ByteRange と署名内容パッチを受け取る上限付きスプールへ組み立てられます
- PDF 添付ファイルのペイロードは、プロバイダーのスプールから最終文書へ固定サイズのチャンクでコピーされ、ストリーム サイズは間接長オブジェクトを通じて参照されます。そのため数百メガバイトの添付ファイルでもピーク メモリはフラットに保たれます
修正
- 署名ダイジェストは、文書全体のコピーを経由する代わりに、組み立てられた文書の 2 つの対象バイト範囲にわたってインクリメンタルに計算されるようになりました。予約済み署名フィールドは、組み立てたバイトを走査する代わりに、署名オブジェクト自体から位置特定されます
バージョン 2.365.0
追加
- 可視 PDF 署名テキストは現在、埋め込み Unicode フォント パイプラインを通じて、左揃え、中央揃え、右揃え、構成可能なサイズ、色、太字または斜体のスタイルで描画され、署名者名、理由、場所のあらゆる文字体系をカバーします
- PDF 署名の外観画像は、フレーム マーカーから導出した寸法を持つ JPEG ペイロードを受け付け、過大または破損した画像はダイジェストの計算前に決定論的に失敗します
- PDF 添付ファイルは明示的な重複名ポリシーを公開し、構成可能なバイトしきい値を超える大きなプロバイダー ペイロードを一時ファイルへスプールし、パス区切りや制御文字を含むリーフに有害な名前を拒否します
変更
- PDF 添付ファイルの名前ツリーは、ISO 32000-1 7.9.6 に従ってエンコードされた名前バイトでソートされるようになりました。添付コレクションはプロバイダーの実行中は固定されたままとなり、再入追加はアトミックに失敗します
バージョン 2.364.0
追加
- 埋め込み EMF および WMF 画像は、塗りつぶし、ストローク、ストロークと塗りつぶしの複合パスによるパス ブラケット、角の丸い矩形、厳密な円弧からベジェへの変換による円弧、弦、扇形、角度円弧、上限付き RGNDATA 矩形から解決されるリージョンの塗りつぶしとフレーム、ジオメトリックまたはコスメティックの拡張ペンをリプレイします。これらはすべて、クリッピング、エスケープ、プライベート レコードに対する同じフェイルクローズド境界とともに、不変の共有シーンへ平坦化されます
バージョン 2.363.0
追加
- 埋め込み EMF および WMF 画像は、拡張された安全レコード ホワイトリストを通じてリプレイされるようになりました。保存と復元を備えたデバイス コンテキスト状態スタック、ワールド変換を伴うウィンドウとビューポートのマッピング、ストック オブジェクトを含むペンとブラシのオブジェクト テーブル、破線スタイル付きの矩形、楕円、折れ線、ポリゴン、ポリライン、ベジェ曲線、フォント、色、配置を備えた上限付きテキスト ラン、PNG として再エンコードされる制限付き stretch-DIB 画像が対象です。未知の状態レコードは、プラットフォームのメタファイル再生を起動する代わりに、これまでどおりフェイルクローズドで上限付きラスター フォールバックへ落ちます
修正
- WMF 画像は標準の 2 バイト レコード ヘッダー レイアウトを解析するようになりました。合成フィクスチャだけでなく、実際のプレース可能メタファイルと標準メタファイルがデコードされます
バージョン 2.362.0
追加
- クラシック XLS と XLSX は、テーブル数式の配列状態、型付きデータ入力規則の IME モード、計算スレッドのヒント、フル再計算の強制フラグの有無、全件更新のヒント、ブックのコード名を、ネイティブのバイナリまたは OOXML 表現を通じて保持するようになりました
RecalcAndVerifyは、安定したキャッシュ、解析、欠落関数、欠落名の各カテゴリを備えた上限付き構造化計算監査を返し、数式キャッシュとブックのセマンティクスは変更しませんTXLSPageImageExporter.ExportRangeは、要求されたセル矩形を、用紙、余白、ヘッダー、フッター、印刷タイトル、改ページなしの 1 つのコンパクトな PNG または JPEG として描画します。ページ画像の描画前イベントと描画後イベントは、実際のエンコード用キャンバスに描画できます- 専用のセル画像エクスポーターが、クラシックと XLSX のどちらのセル矩形でも、構成可能な解像度、倍率、フォーマット、JPEG 品質で、1 つのコンパクトな画像として測定、描画、保存します。透明または色付きの背景、オブジェクト、グリッド線、セル罫線の独立したスイッチ、ピクセルとバイトの予算、そして何かが失敗したときに既存のターゲットに触れない、アトミックな同一フォルダ置換によるファイル保存を備えています
- ページ画像の描画イベントは現在、ライブ キャンバス、ピクセル境界、ポイント単位のページ サイズ、解像度、倍率、文書とシート内のページ番号、総ページ数、元のワークシートを運ぶ完全な読み取り専用コンテキストを受け取ります。マルチページ TIFF フレームを含め、描画されたフレームごとに正確に 1 回発火し、測定中は静かにし、先行イベントが例外を起こしたときは後続イベントを決してトリガーせず、部分的な画像バイトも書き込みません
TXLSSvgExportは、完全なページごとのコールバック、決定論的な文書およびページ ID 名前空間、ScreenTips と安全な新規ウィンドウ属性を備えたオプトインの安全なハイパーリンク オーバーレイをサポートします- クラシックと XLSX の HTML エクスポーターは、セマンティックな行と列の見出し、および上限付きの純粋 CSS ホット トラッキングを備えたオプトインのスプレッドシート ビューを提供し、両者ともリンクの表示テキストを保持したまま、アクティブまたはローカルの URI スキームを拒否します
- 可視 PDF 署名は contained、covered、stretched の各 PNG 外観画像を使用でき、PDF 添付ファイルは各保存時に 1 回呼び出しのソース インターフェースからペイロードを遅延取得できます
- 上限付き EMF および WMF ベクター デコーダーは、ヘッダー、レコード サイズ、合計、正確な EOF 配置、エスケープ制限を検証したうえで、ドライバーのメタファイル再生を起動することなく、安全な矩形コマンドのサブセットを共有の Canvas および SVG バックエンドを通じてリプレイします
変更
- 直接 XLSX 書き込みはテーブル数式の配列属性と型付きデータ入力規則の IME モードを書き込めるようになり、配列テーブル数式がスカラーの行ごとの数式として静かに展開されることはなくなりました
バージョン 2.361.99
変更
- 自動タグ付き PDF は、情報を持つ XLSX 画像を、Unicode 代替テキスト、高密度なページ ローカルの marked-content 識別子、正確な親ツリー エントリ、可視インスタンスごとの 1 つのセマンティック要素として独立した Figure 構造要素で出力するようになりました。同じ画像ペイロードは引き続き 1 つの XObject を共有し、代替テキストのない画像は装飾アーティファクトのままです
バージョン 2.361.98
修正
- 自分のセルを含む範囲を走査するルックアップ数式(VLOOKUP、HLOOKUP、LOOKUP、XLOOKUP、XMATCH、MATCH)は、再計算中に誤った循環参照エラーを報告しなくなりました。走査範囲内の編集は、引き続き数式の再計算をトリガーします
- 255 文字を超える AutoFilter のテキスト条件は、壊れたオートフィルタ条件を書き込む代わりに、フィルター レコードの上限へ切り詰められます
- 暗黙的な交差演算子が使用する連続した空白は、数式テキストの再生成時に 1 つの空白へ潰される代わりに保持されます
- 印刷範囲、印刷タイトル、フィルター データベース以外の組み込み定義名(集計範囲、抽出、データベース、検索条件、レコーダー、シート タイトル、Auto_Open 系マーカー)は、クラシック XLS ブックのオープン時と保存時にそのまま保持されるようになりました
バージョン 2.361.97
追加
- クラシック XLS と XLSX のブックは、未変更ソースのロスレス保持とクロスフォーマット マッピングを備えた共有の 3 状態オブジェクト表示ポリシーを公開するようになりました。非表示のオブジェクトがページ分割出力や HTML 出力を膨らませたり、描画とメディアのレンダリング パスに入ったりすることはなくなります
- ブック ビューアは、プレースホルダー モードのオブジェクトに対して軽量な名前付きプレースホルダーを描画します。一方、PDF、SVG、ビットマップ、印刷、HTML の各エクスポーターは既定で完全なオブジェクトを保持し、画像デコードとグラフ シーン構築を回避する明示的なプレースホルダー オプションを提供します
バージョン 2.361.96
変更
- 手動グラフ レイアウトは、独立したソース フィールドと無効なトークンを保持し、上限付きのサイズ維持配置で係数とエッジ座標を解決し、内側と外側のプロット ターゲットに加えてタイトルと凡例のオーバーレイを尊重し、サポート対象の ODF ジオメトリを絶対的なグラフ距離を通じて変換し、ページ分割、SVG、PDF、画像、プレビュー、印刷、ビューア、HTML 出力全体で一貫したタイトル、凡例、プロット領域、軸タイトルの配置を描画するようになりました
バージョン 2.361.95
変更
- XLSX のセル由来グラフ データ ラベルは、完全な数式、インデックス化されたキャッシュ、明示的な共有およびポイントごとの可視性、ライブのワークシート更新、外部キャッシュのフォールバック、コピーとレポート展開中の数式変換、そしてページ分割、SVG、PDF、画像、プレビュー、印刷、ビューア、HTML 出力全体で一貫したカスタム優先のラベル構成とともに、各系列に属するようになりました
バージョン 2.361.94
変更
- マルチレベルのグラフ項目軸は、スパースな階層キャッシュとライブの 2 次元範囲を保持し、親を認識するスパンを線形時間で構築し、単一レベル、反転、右から左、非表示、空白項目の各動作を尊重し、ページ分割、SVG、PDF、画像、プレビュー、印刷、ビューア、HTML 出力全体で一貫した階層ラベルと区切り記号を描画するようになりました。ODS エクスポートはリーフ項目範囲を使用します
バージョン 2.361.93
変更
- 日付軸は、表示中のすべての系列にわたって暦単位を 1 回推論し、表示範囲、軸の幅、測定されたラベル フォント、数値形式、回転から上限付きの自動間隔を選び、ラベル、座標、目盛、グリッド線を、ページ分割、SVG、PDF、画像、プレビュー、印刷、ビューア、HTML 出力全体で共有される主目盛と補助目盛のコレクションから導出するようになりました
バージョン 2.361.92
変更
- XLSX の日付軸は、軸の数値形式とソース リンク状態を保持し、テキスト スタイルと回転を備えた整形済みラベルを描画し、ページ分割、SVG、PDF、画像、プレビュー、印刷、ビューア、HTML 出力全体で、重複およびスパースな日付に対する連続的な間隔を保ちながら反転方向を尊重するようになりました
バージョン 2.361.91
変更
- XLSX の日付軸は、基本、主、補助の暦単位と自動項目検出が省略されたのか明示的に指定されたのかを、明示的な日単位と false の値を含めて保持するようになりました。クラシックの日付軸拡張レコードは型付きフィールドを公開し、マスク済みまたは無効な生の値を保持し、アクティブな設定を XLSX 軸モデルへマッピングできます
バージョン 2.361.90
変更
- XLSX の日付軸グラフは、連続的な日付間隔を保持し、ブックの 1900 または 1904 日付システムで日、月、年の主間隔を、ページ分割、SVG、PDF、画像、プレビュー、印刷、ビューア、HTML 出力全体で描画するようになりました。ページ分割ベースの出力は、構成された補助目盛とグリッド線も尊重します
バージョン 2.361.89
追加
- ワークブック ビューアーは、未記入のセルの後ろに有効なワークシート背景をタイル状に敷き詰め、印刷、PDF、SVG、ビットマップ、メタファイル、クラシックおよび XLSX HTML 出力は既定でオフになる明示的な
ExportSheetBackgroundImagesオプトインを提供するようになりました
変更
- ページ分割された背景レンダリングは、ページ間でワークシート基準のタイル位相を維持し、レンダリング セッションごとに各背景を 1 回だけデコードし、1 つの PDF イメージ XObject または SVG リソースを再利用し、壊れたペイロードを 1 件の診断とともにスキップするようになりました
バージョン 2.361.88
追加
- クラシック ワークシートは、型付きの背景画像オーサリングと共有の読み取り専用背景リソースを公開するようになりました。連続的なペイロード分割で BIFF8 背景レコードを読み書きし、ビットマップ ペイロードを標準 BMP データとして再構築し、対応しないネイティブ形式や不明形式を診断付きでバイト単位で保持し、背景の所有権をディープ コピーし、既知の背景を XLS と XLSX の間で双方向に変換します
バージョン 2.361.87
修正
- XLSX ワークシートのコピーは、同じブック内のコピーでもブック間のコピーでも、シート背景画像のバイトとメディア タイプを保持するようになりました。同じブック内のコピーは保持されたソース メディアを再利用し、ブック間のコピーは保存前にメディアの所有権を付け直します
バージョン 2.361.86
追加
- クラシック XLS と XLSX のワークブックは
AllowUnsafeFormulaCallbacksを公開し、文脈評価は対応する呼び出しごとのオプションと構造化されたxlfeUnsafeFunctionDeniedステータスを提供します
セキュリティ
- 危険な外部およびマクロ スタイルの数式名は、既定ではワークブック ローカル、プロセス全体、リゾルバー、イベントのユーザー関数ハンドラーに届かなくなり、拒否は数式引数の評価の前に行われます
バージョン 2.361.85
追加
- クラシック XLS と XLSX のワークブックは
AuditFormulaSymbolsを公開し、数式セルと定義名にわたって未知の関数・未知の名前・構文の診断を構造化して提供し、操作ごとの一意数式統計とキャッシュ ヒット統計を伴います
変更
- 保持された未知の関数と名前は、直接、依存、文脈、直列、並列の各計算パスで Excel の
#NAME?エラーとして評価されるようになりました - ワークブック ローカルまたはプロセス全体のユーザー関数登録の変更と定義名の数式変更は、次の再計算の前に影響を受ける計算状態を無効化するようになりました
修正
- 依存するキャッシュ セルから読んだ数式エラーは、スカラー変換に入って Variant 変換例外を投げる代わりに、型付きエラーのまま保たれるようになりました
バージョン 2.361.84
追加
- 通常のクラシック XLS と XLSX の数式代入は、ブックの数式入力ポリシーをアトミックに適用するようになりました。厳格な拒否の場合はセル値、数式キャッシュ、依存関係が変更されず、保持モードでは未知の関数と名前が格納されます
変更
- クラシック XLS は、保持された未知の呼び出しを BIFF アドイン ユーザー関数トークンを通して書き込み、保存、再オープン、XLS/XLSX 変換を通して保持された未知の名前テキストを維持します
- 数式入力の検証は、構成されたコールバック ユーザー関数、
LAMBDAとLETの呼び出し可能オブジェクト、定義名 lambda、レポート プレースホルダー、登録済みの外部リンク、有効な構造化参照を、ハンドラーを呼び出さずに認識します
修正
- XLSX の検証は、有効な入れ子および現在行の構造化参照を保持するようになり、未解決のテーブル参照を走査する際に失効した列テキストを再利用しなくなりました
バージョン 2.361.83
変更
- クラシック XLS と XLSX の値代入は、
FormulaEntryPolicy.EmptyStringModeを一貫して適用するようになりました。既定では厳密な空文字列をクリアし、保持モードでは定数の空文字列を格納し、NullまたはUnassignedは常にセルをクリアします - ネイティブ XLS、XLSX、ODS の読み込み、および XLS から XLSX、XLSX から XLS への変換は、信頼できる定数の空文字列を保持するようになり、存在しないセルや
=""などの数式と混同しなくなりました - XLSX の文字列および Variant の行または列ライターは、パック済みストレージの高速パスを維持しつつ、クリアされたエントリを存在しないままにし、厳密な空文字列を保持モードでのみ格納します
バージョン 2.361.82
追加
- クラシック XLS ブックと XLSX ブックは、共有の
FormulaEntryPolicyを公開するようになりました。両方のワークシート エンジンは、呼び出し元がセルを変更する前に構造化された問題、アクション、不明なシンボルを返す、変更を加えないValidateFormulaEntryメソッドを提供します
変更
- 数式入力の検証は、厳密な空の入力と空文字列を返す数式を区別し、未知の関数、不明な名前、構文の失敗、無効なターゲット、ターゲット形式の制限を分け、登録済みのユーザー関数をそのハンドラーを呼び出さずに認識するようになりました
バージョン 2.361.81
変更
- 行全体や列全体の挿入または削除は、XLS と XLSX のすべてのペインの順序付き選択範囲とアクティブ領域を一貫して再マップするようになり、残存する順序を保持し、すべての領域が削除された場合には境界セルのフォールバックを作成します
- 大規模なペイン選択の正規化、構造編集、およびクエリは、文字列全体や配列の繰り返しコピーの代わりに、償却線形のビルダーと容量拡張を使用するようになりました
修正
- クラシック XLS は、不正な形式または矛盾した
Selectionレコード本体をバイト単位で保持し、部分的に信頼された型付き状態を公開する代わりにxlsDiagnosticSelectionRecordInvalidを報告するようになりました
バージョン 2.361.80
追加
TXLSWorksheetとTXLSXWorksheetは、対応するTryGetWindowScrollとScrollWindowメソッドを公開するようになりました。1 基準の座標で、既存の任意の論理ペインの最初の可視セルを読み取り、変更できます
変更
- 4 ペインのスクロール状態は、XLS と XLSX の保存、オープン、ワークシート コピーを通じて、共有される上、下、左、右の軸を独立して保持するようになりました。欠落しているペインや無効な座標は、ビュー状態を変更せずに失敗します
バージョン 2.361.79
変更
- クラシック XLS ワークシートは、各ペインの独立した順序付き選択グループを維持し、連続する BIFF
Selectionレコードを 1 つの論理シーケンスに集約し、未変更のレコード本体を保持し、ワークシートとともに完全な選択状態をコピーします - 1369 を超える領域を持つクラシック選択範囲は、連続した標準準拠のチャンクとして書き込まれ、すべてのチャンクにわたって 1 つの集約アクティブ領域インデックスを維持します
バージョン 2.361.78
追加
TXLSWorksheetとTXLSXWorksheetは、共有のTXLSPanePosition型を通して、対応するペイン対応のGetSelectedAreasとSelectAreasメソッドを公開するようになりました
変更
- ペイン選択のクエリは、アクティブ領域インデックスを含む呼び出し元所有の順序付きスナップショットを返し、重複する領域を保持し、ペインが存在しない場合や更新が無効な場合にワークシートの状態を変更しません
バージョン 2.361.77
追加
IXLSWorkbook、TXLSWorkbook、TXLSXWorkbookは、対応するストリーミングSaveSemanticSnapshotとインクリメンタル SHA-256ComputeSemanticHashメソッドを、Content および SecurityComplete プロファイルとともに、明示的なビューアー状態、揮発性メタデータ、数式キャッシュの各オプション付きで公開するようになりました
変更
- セマンティック スナップショットは、完全なスナップショットをマテリアライズすることなくスパースなブック モデルを走査します。スナップショットとハッシュの両操作は読み取りリースを保持するため、同時実行のパブリック変更はブックの状態を変更する前に失敗します
バージョン 2.361.76
追加
- 型付きクラシック XLS グラフ モデルは、グラフ、項目軸、値軸のタイトルを公開するようになりました
修正
- クラシック XLS グラフ モデルの抽出は、系列、凡例、グラフ グループ、軸、3-D 状態、系列ラベル、系列ソース数式を、定義された BIFF レコードから識別するようになりました
- 凡例の位置と円グラフとドーナツ グラフの区別は、定義されたレコード フィールドからデコードされます
バージョン 2.361.75
追加
- Delphi の FeatureShowcase と C++Builder の XlsxFeatureGallery は、同じコンパイル済みレポート データ コンテキスト、メモリ テーブル、厳格なデータ アクセス、回復可能なエラーの継続、診断ワークシート、不変の実行結果、アトミックなファイル出力ワークフローを実演するようになりました
- コンパイル済みレポートのトピックは、対応する Delphi と C++Builder のサンプルを提供するようになりました。インターフェイス化されたレポート テーブルに必要な C++Builder のスマート インターフェイス取得を含みます
修正
- C++Builder の XLSX 機能ギャラリーは、バージョンが一致した完全な HotXLS スタティック パッケージにリンクし、コンパイル済みレポートの実装依存関係が、ユニットごとの壊れやすいリンカー ディレクティブなしで解決されるようになりました
バージョン 2.361.74
変更
RunToStream、RunToFile、RunToEncryptedFileは 1 つの出力トランザクションを共有するようになり、レポートの生成と保存が完了した後にのみ、シリアル化されたブックを公開します- 暗号化されていないレポート出力は、ODS テンプレートからの ODS 出力を含め、テンプレート ブックの形式を保持します。暗号化された出力は暗号化された Office コンテナーのままです
修正
- シリアル化、置換、キャンセル、および致命的なレポート失敗は、既存の宛先ストリーム、ファイル、暗号化ファイルを変更せずに残し、返る前に実行ごとのデータ セッションと一時ストレージを解放します
バージョン 2.361.73
追加
- 名前付き範囲と Excel テーブル レポート バンドは、
ErrorMode、StrictDataAccess、RuntimeLimits、および不変のLastResultスナップショットを公開するようになり、個別のCompletedWithErrorsバンド状態を備えています
変更
WriteAndContinueは、明示的に回復可能とマークされた行エラーをリテラル診断テキストとして書き込み、ソース カーソル行と実際の出力セルを記録した後、その行の後続のターゲットと後続の入力行を続行できます- レポート式は、テキストにフォールバックする前に型付きバンド スナップショット値を消費し、式の評価中に数値、日付、ブール、その他のサポートされる Variant 値を保持します
修正
- バンド展開中の致命的なターゲット、キャンセル、実行時制限の失敗は、ソース ターゲットと挿入された構造を復元し、ロールバックされた診断フラグをクリアし、適用されたターゲット数 0 を公開します
バージョン 2.361.72
追加
TXLSReportRuntimeLimitsは保持される実行時問題の数、サニタイズ後のメッセージ長、問題メモリに上限を設け、RuntimeDiagnosticsSheetNameは構造化された診断ワークシートを 1 枚オプションで出力します- 明示的なリゾルバー データ エラー、式のゼロ除算、無効な正規表現には、安定したプロバイダーまたは式の問題カテゴリとエラー コードが割り当てられるようになりました
変更
WriteAndContinueは安全な非セル ターゲットを保持してその問題を記録します。ワークシート名と定義名数式は、フェイルファストな構造ターゲットのままです- リゾルバーのデータ エラー結果は、実行ごとのエイリアス キャッシュから提供される場合は引き続き回復可能で、リゾルバーがスローする例外は致命的なままです
セキュリティ
- 実行時メッセージは最初の行で切り捨てられ、一般的な資格情報やベアラー トークンの形式をマスキングし、失敗したターゲットを変更する前に件数、長さ、メモリの上限を強制します
バージョン 2.361.71
追加
{{#usertable(alias, logicalName, providerKey, name=expression)}}の正確なセルは型付きの遅延テーブル宣言にコンパイルされ、TXLSCompiledReportTemplate.UserTableCountは宣言数を出力ターゲットとは別に報告しますTXLSReportTemplateChecker.DataContextは、リゾルバーを呼び出さずに、登録済みプロバイダー キー、型付きパラメーターの上限、不正な宣言、大文字と小文字を区別しないエイリアスの競合を事前チェックします
変更
- レポート テンプレートとジェネレーターは、ターゲットへの書き込みの前に宣言パラメーターを評価し、現在の実行セッションに登録します。宣言されたテーブルは、
dbvalueまたはdbcountがそのエイリアスを最初に参照したときにのみ解決されます - 同一の宣言が繰り返された場合は 1 つのリクエストを共有し、異なる論理名、プロバイダー、パラメーター順序、型、または値でエイリアスを再利用する宣言は、ブックを変更する前に宣言セルの位置とともに失敗します
セキュリティ
- ユーザー テーブル宣言は、登録済みのプロバイダー キーと上限付きの型付きデータ パラメーターのみを受け入れ、パラメーター式内のデータ テーブル アクセスを拒否し、SQL、パス、URL、コマンド テキスト用のテンプレート フィールドを公開しません
バージョン 2.361.70
追加
TXLSReportDataRequestは、名前付きまたはユーザー テーブルの ID、型付きパラメーター、ソース位置、読み取り専用の実行制御をIXLSReportDataResolverに渡します。その明示的な結果状態により、未処理、解決済み、未検出、データ エラーの各結果が区別されますTXLSReportDataContext.RegisterResolver、RemoveResolver、ClearResolversは、大文字と小文字を区別しない名前付きリゾルバー レジストリを管理し、TXLSReportDataLimitsはエイリアス、リゾルバー、パラメーター、名前、メッセージ、返されるテーブル スキーマに上限を設けます
変更
- 各レポート データ セッションは、リゾルバー レジストリのスナップショットを O(1) ルックアップとして取得し、明示的なテーブルを権威ある情報として維持し、レガシー テーブル プロバイダーを適応させ、型付きリクエストをエイリアスごとにキャッシュします。論理名、プロバイダー、パラメーター順序、型、または値が異なるエイリアスの再利用は拒否されます
- レポート ランナーとバンドは、スレッドセーフな 1 つのキャンセル制御をデータ解決全体に渡すようになり、キャンセル後はアクティブなターゲットをコミットせずに停止します。キャンセルをデータ エラーとしてキャッシュする代わりに、キャンセルされたエイリアスはクリーンな再試行に利用できます
セキュリティ
- 型付きデータ リクエストは、制御文字、負のソース座標、重複するパラメーター名、サポート対象外の Variant 配列や参照、過大な文字列、過剰なエイリアスやプロバイダー、過大なテーブル スキーマを、安全でない処理やブック変更の前に拒否します
バージョン 2.361.69
追加
TXLSXWorksheet.ClearRowHeightとClearColWidthは、他の行や列のメタデータに影響を与えずに、明示的なサイズ オーバーライドを 1 つ削除します
変更
- コンパイル済みレポート ターゲットは、動的書式設定を呼び出す前に式の評価を完了し、セル内容、数値形式、行の高さ、列の幅を 1 つのロールバック境界を通してコミットするようになりました
- 回復可能なセル診断は、セルの既存フォントから赤フォントと黄色の塗りつぶしスタイルを導出し、残りのセル スタイルを保持します。等しいベース フォントと繰り返されるランナー実行の間で、プールされたスタイルを再利用します
修正
- 回復可能な評価失敗の後に、動的な数値形式や明示的な行と列のサイズが残らなくなりました。診断書き込みは、リテラル テキストを保存する前に数式をクリアします
バージョン 2.361.68
追加
- コンパイル済みレポート ランナーとジェネレーターは、
ErrorMode、StrictDataAccess、および終端状態、適用件数、失敗詳細、順序付けられた実行時問題を含む不変のLastResultを公開します WriteAndContinueは、明示的に回復可能とマークされたセル データ失敗をリテラル診断に置き換えてCompletedWithErrorsとして完了できます。既定のStopモードは互換性を維持します
変更
- 厳格なデータ アクセスは、明示的なテンプレート フォールバックが存在しない場合、欠落したテーブル、利用できないランダム アクセス、欠落した行、欠落したフィールドを安定したエラー コードで報告します
- 続行できるのは、明示的に回復可能とマークされたデータ失敗のみです。構造、コールバック、キャンセル、リソース、セキュリティ、シリアライズなどの致命的な失敗は、引き続きレポートを停止します
修正
- ファイルおよび暗号化ファイル出力の失敗は、前のブック生成フェーズの完了結果を保持する代わりに、失敗した実行結果を公開するようになりました
バージョン 2.361.67
変更
- コンパイル済みテンプレート、ランナー、範囲バンド、Excel テーブル バンドは、論理実行ごとに 1 つの分離されたデータ セッションを通して
dbvalueとdbcountを解決するようになりました - 繰り返されるエイリアスは実行内で 1 回だけロードされ、後続の実行はプロバイダー データを再ロードし、同時実行は独立したキャッシュを維持します。
PreprocessAndRunの両パスは 1 つの整合性のあるテーブル スナップショットを共有します - レポート バンドの式は行または列の変数のみをバインドするため、リテラルのテーブル名や組み込み位置変数がソース列と誤認されることはなくなりました
修正
- レポート データ セッションとそのプロバイダー スナップショットは、成功、キャンセル、失敗のいずれの実行後にも解放されます。プロバイダーの例外や再利用可能なランナーの再試行の場合も同様です
バージョン 2.361.66
追加
TXLSReportDataContext.BeginRunは、状態検査と解決済みまたはキャッシュ済みエイリアス数を備えた、分離されたIXLSReportDataSessionスナップショットを返します
変更
- レポート データ セッションは、明示的なテーブル、遅延プロバイダー結果、欠落エイリアス、プロバイダー データ エラーに対して、大文字と小文字を区別しないハッシュ キャッシュを使用します
- 個別のエイリアスはセッションごとに最大 1 回プロバイダー チェーンに到達し、プロバイダー結果は要求されたエイリアスにバインドされたままとなり、同一エイリアスの再帰は即座に失敗します
- 直接の
TXLSReportDataContext.TryGetTableおよびRequireTable呼び出しは、登録が変更されると無効化される独立した互換性キャッシュを保持します
バージョン 2.361.65
追加
IXLSXImageBlobとTXLSXImageBlobは、1 回だけ計算される SHA-256 ダイジェスト、バイト サイズ、オプションのキャッシュ キーを備えた、不変のラスターおよび SVG ペイロードを提供しますTXLSReportImageResult.CacheKeyにより、V2 画像プロバイダーは再利用可能なコンテンツを明示的に識別できます。同じキーに対して競合するコンテンツは、ワークシートを変更する前に拒否されます
変更
- 繰り返されるレポート画像は、明示的なキャッシュ キーまたは完全一致のダイジェストによって 1 つの不変ペイロードを共有し、独立したアンカーと変換を維持します
- XLSX と ODS の保存では、個別の画像ペイロードを 1 回だけ書き込み、そのメディア リレーションシップをシート間で再利用します。ブックを再び開くと、共有ペイロードが復元されます
- XLSX を再び開く際、DrawingML 拡張リレーションシップから SVG 付随データが復元され、ラスター フォールバックとペアになります
バージョン 2.361.64
追加
TXLSReportImageResultはソースのピクセル寸法と DPI を宣言でき、画像リクエストと結果はアンカー相対のターゲット オフセットを EMU で公開しますTXLSXImage.OffsetXEMUとOffsetYEMUは、XLSX と ODS の保存/オープン サイクルを通して、アンカー内の画像配置を保持します
変更
- V2 画像バインディングは、PNG、JPEG、GIF、BMP、EMF、WMF のヘッダーから物理ジオメトリを導出し、Natural、Contain、Cover、Stretch のサイズ設定を適用します。Contain で収められた画像は、ピクセルをデコードすることなく中央に配置されます
- ヘッダーが切り詰められている、宣言された寸法が一致しない、一辺が 100,000 ピクセルを超える、デコード後の合計サイズが 1 億ピクセルを超えるといった場合は、ワークシートを変更する前にラスター ジオメトリが拒否されます
バージョン 2.361.63
追加
IXLSReportImageDataProviderV2は、ブック、ワークシート、ターゲット、バンド、テーブル、行、アンカー、キャンセルのコンテキストとともに、画像バイト、呼び出し元から借用したストリーム、またはプロバイダーが所有権を移すストリームを返せますOnTransformImageは、バインド前に画像を置き換えたりサイズ変更したりできます。コンパイル済みの範囲バンドと Excel テーブル バンドは、実際の各データ行の読み取り専用スナップショットを公開します
変更
- V2 画像ストリームは、構成可能な既定 64 MiB の上限付きブロックで読み取られます。借用したシーク可能ストリームは位置を復元し、譲渡されたストリームは正確に 1 回だけ解放されます
- V2 ペイロードは、空のデータ、一致しないフォーマット シグネチャ、不整合のある寸法、無効なアンカー、グリッド外のオフセットを、ワークシートを変更する前に拒否します
- コンパイル済みの範囲バンドと Excel テーブル バンドは、生成されたワークシート セルを走査することなく、マテリアライズされたバインド列から、生成された行ごとに 1 回画像ターゲットをバインドします
バージョン 2.361.62
追加
TXLSCompiledReportRunnerとTXLSReportGeneratorは、既存のIXLSReportImageProviderを、欠落画像ポリシーおよびディレクティブ セル ポリシーとともに受け入れるようになりましたTXLSReportImageBinder.ApplyTargetは、無関係なワークシート セルを走査することなく、事前コンパイルされた 1 つの画像ディレクティブをバインドします
変更
{{#image Key}}の正確なセルは型付きレポート ターゲットにコンパイルされ、プロバイダーが構成されていない場合は変更されず、コンパイル済みのキーと座標をランナー セッション間で再利用します
バージョン 2.361.61
追加
TXLSCompiledReportRunnerは、対になったブック生成イベントとワークシート生成イベントを公開するようになりました。安定したワークシート ID、元の座標と現在の座標、読み取り専用レポート データ、ターゲット数、キャンセル、失敗詳細が含まれますTXLSReportGeneratorは、ブック、ファイル、ストリーム、暗号化ファイルの各テンプレートを、テンプレート読み取りと生成のライフサイクル イベントを通して実行します。インプレース変更またはアトミック クローン変更を選択できます
変更
- レポート生成は元のワークシート セットを固定化し、コールバックによる構造変更の後に再コンパイルし、同一ブックの同時変更を拒否します。キャンセル時と失敗時に入力イベントを対にし、最初の例外を保持します
- レポート ストリームは呼び出し元所有のままです。シーク可能なテンプレート ストリームは位置を復元し、前方参照のみのストリームは上限付きブロックで消費されます。ストリーム、ファイル、暗号化ファイルの各宛先は、正常完了後にのみ変更されます
- ライフサイクル ハンドラーを持たないコンパイル済みレポートは、ワークシート走査、イベント コンテキスト、ターゲットごとのライフサイクル割り当てを行わない直接ターゲット ループを維持します
バージョン 2.361.60
追加
- XLSX ブックは、パッケージ ルートのタスク ペインを正確に検査および削除するための
HasWebAddinTaskPanes、WebAddinTaskPaneCount、RemoveWebAddinTaskPanesを公開するようになりました
変更
- Web アドイン タスク ペインの削除では、変更前に上限付きの内部リレーションシップ グラフを検証し、共有および無関係のパッケージ パーツを保持し、排他的な子孫と所有するリレーションシップ パーツを削除し、コンテンツ タイプを再構築し、ソース コピーによる復活を防ぎます。操作は冪等です
- クラシック XLS ブックと ODS ブックは、パッケージ内容を走査することなく、Web アドイン タスク ペインの削除をサポート対象外として報告します
バージョン 2.361.59
追加
- クラシック XLS ブックと XLSX ブックは、キャッシュの永続化とファイルで宣言されたリンク更新の設定のための、対応する
SaveExternalLinkValuesおよびUpdateLinksプロパティを公開するようになりました
変更
- 外部リンクのキャッシュ値を無効にすると、クラシックの
XCT/CRNレコードまたは XLSX のsheetDataSet内容のみが省略され、リンク定義、定義名、リレーションシップ、不明な XML、メモリ内キャッシュは保持されます - 外部リンク ポリシーは、編集されるまで予約済みソース値をロスレスでラウンドトリップし、XLS と XLSX 間で変換され、変更されていない圧縮パッケージ パーツを保持します。外部ファイルやネットワークへのアクセスを開始することはありません
バージョン 2.361.58
追加
TXLSHTMLExportとTXLSXHtmlExportSessionは、現在の HTML 操作が使用する不変のRenderGeometryスナップショットを公開するようになりました
変更
- クラシック XLS と XLSX の HTML エクスポーターは、ハードコードされた変換係数や CSS 文字単位の代わりに、バックエンド固有の最大桁幅ジオメトリを通して、Excel の文字幅を固定の CSS 長に変換するようになりました
- ブック、ワークシート、範囲、増分マルチシートの各 HTML エクスポートは、上限付きメトリック キャッシュを備えた 1 つの操作ローカルなキャリブレーションを取得します。保存済みの行の高さや列の幅を変更することはありません
バージョン 2.361.57
変更
- PDF、SVG、ビットマップ、印刷プレビュー、ブック ビューアの各操作は、バックエンドを認識する上限付きメトリック キャッシュを備えた、個別の不変レンダリング ジオメトリ スナップショットを取得するようになりました
- 共有ページ レンダリングと SVG 折り返しは、プロセス グローバルな GDI ビットマップや文字列リスト状態の代わりに、操作ローカルなフォント測定を使用するようになりました。保存済みの行の高さと列の幅は保持されます
バージョン 2.361.56
変更
- クラシック XLS と XLSX の AutoFit は、操作ごとに 1 つの不変ブック レンダリング ジオメトリ サービスを取得するようになりました。キャリブレーション済みのテキスト測定、折り返し、行間、セル余白、実際の XLSX 表示フォントが含まれます
- ページ分割は、ビルドごとにブック ローカルのジオメトリを取得し、プロセス グローバルな標準フォントおよび最大桁幅の状態を廃止しました。保存済みの行の高さや列の幅を変更せずに、キャリブレーション済みの暗黙的な列幅を適用します
バージョン 2.361.55
追加
- クラシック XLS ブックと XLSX ブックは、上限付きローカル キャッシュと共有幅変換を備え、AutoFit 用のプロセス グローバルな DPI やベース幅キャッシュを持たない、不変で操作所有のジオメトリおよびフォント測定サービスを作成するようになりました
バージョン 2.361.54
追加
- クラシック XLS ブックと XLSX ブックは、検証済みの
TXLSRenderCalibration値に加え、将来のレンダリング操作のための独立したCaptureRenderCalibrationスナップショットとResetRenderCalibration既定値を公開するようになりました
バージョン 2.361.53
追加
- XLSX の読み込みでは、ワークシートのプリンター設定リレーションシップが欠落、誤った型、または参照切れの場合に
xlsDiagnosticPrinterSettingsRelationshipInvalidを報告するようになりました
変更
SaveXLSWorkbookAsXLSXとSaveXLSXWorkbookAsXLSは、型付きページ設定フィールドと不透明なプリンター ドライバー バイトを独立して保持するようになりました。標準フィールドは重複するプライベート既定値より優先されます
修正
pageSetupが指定するリレーションシップが無効な場合、XLSX の読み込みは無関係なプリンター設定パーツをバインドしなくなりました- XLSX から BIFF8 への変換は、宛先バイトを書き込む前に、過大または表現不能なプリンター設定を拒否するようになりました
バージョン 2.361.52
追加
- クラシック XLS と XLSX のワークシートは、コピー分離された
PrinterDriverDataおよびHasPrinterDriverDataプロパティに加え、不透明なプリンター ドライバー ペイロードを直接制御するためのClearPrinterDriverDataを公開するようになりました
修正
- XLSX プリンター ドライバー データのクリアでは、未サポートパーツ保持が有効な場合でも、ワークシート リレーションシップとバイナリ パッケージ パーツが削除されるようになりました
バージョン 2.361.51
変更
- XLSX の読み込みと保存では、
pageSetupリレーションシップ、コンテンツ タイプ宣言、printerSettingsN.binパッケージ パーツを通して、各ワークシートのバイナリ プリンター設定が保持されるようになりました - プリンター設定は、同一ブック内およびブック間のワークシート コピーでも、バイト単位で正確な独立した所有権を持って維持されます。変更されていないソース パーツは元の圧縮ペイロードを保持できます
バージョン 2.361.50
変更
- クラシック XLS の読み込みと保存では、完全な BIFF
PLSプリンター ドライバー ペイロードが、直後に続くすべてのContinueセグメントとともに保持されるようになりました - プリンター ドライバー ペイロードはワークシートとともにディープ コピーされ、正確な BIFF サイズのチャンクで
Setupの前に出力されます。構造的に不完全な場合や 1 MiB の安全上限を超える場合は拒否されます
バージョン 2.361.49
追加
- クラシック XLS のページ設定は、読み取り専用の
HasSetupRecordおよびPrinterSettingsInitializedプロパティを公開するようになりました。呼び出し元は、欠落または未初期化のプリンター設定を定義済みの値と区別できます
変更
- 未変更のクラシック ワークシートの保存では、欠落している BIFF
Setupレコードはそのまま維持され、既存の 34 バイト レコードの全バイトが、予約ビットや未モデル化のフラグ ビットを含めて保持されます - ページ設定セッターは、必要な場合にのみ欠落している
Setupレコードを作成し、影響を受けるプロパティに応じてプリンター依存フィールドや印刷の向きフィールドを初期化します
バージョン 2.361.48
追加
SaveXLSXWorkbookAsXLSは、ファイルおよびストリームの各オーバーロードを通して、XLSX モデルのブックを BIFF8 に変換するようになりました。読み込まれた値、数式、基本スタイル、結合範囲、行と列のサイズ、ブックの日付モード、アクティブ シートの状態が保持されます
変更
- XLSX から XLS への変換は、スタイルを書き込む前に決定論的な 56 色パレットを 1 つ構築し、使用中のインデックス スロットを保持します。直接色が BIFF8 の容量を超える場合は、重み付き OKLab 量子化を適用します
- 変換パスは、ソース グリッドをマテリアライズすることなく読み込まれたスパース セルやパック済みセルを走査し、宛先に触れる前に BIFF8 の上限外の座標を拒否します。Delphi および C++Builder の ConversionWorkbench サンプルでも利用できるようになりました
バージョン 2.361.47
追加
- クラシック XLS ブックと XLSX ブックは、現在の 56 スロット パレット プランを検証してアトミックに適用する、対応する
ApplyBiffPalettePlanメソッドを公開するようになりました - クラシック ブックは
BiffPaletteSavePolicyを公開するようになりました。明示的な BIFF8 最適化オプションと、従来のパレット出力を保持する既定値が提供されます
変更
- パレット プランの適用では、最初の変更の前に、ソース世代、ソース ハッシュ、すべてのスロット ID と色、集計数、保持ロック、変更フラグ、不透明ターゲットを検証し、その後キャッシュされた OKLab マッチャーを 1 回再構築します
- 最適化された BIFF8 保存は、成功後に適用済みパレットをブックに残しますが、出力が失敗またはキャンセルされた場合は、56 色すべてのソース色と元の世代を復元します。BIFF5 および非 BIFF 出力パスは変更されません
バージョン 2.361.46
追加
- クラシック XLS ブックと XLSX ブックは、ソース パレット ID、ロックされたスロット、提案色、集計されたトゥルーカラー マッピング、正確なカバレッジ、知覚誤差統計を含む、変更を加えない 56 スロット プランを返す、対応する
BuildBiffPalettePlanメソッドを公開するようになりました
変更
- BIFF パレット プランニングでは、空きスロットを割り当てる前にインデックス化されたコンシューマーと既存の正確な色を保持し、その後、直接色と解決済みテーマ色が残り容量を超える場合にのみ、決定論的な頻度重み付き OKLab クラスタリングを使用するようになりました
- パレット プランの構築は、保存済みのスタイルと条件付き書式のメタデータを読み取ります。パレット エントリ、ユーザー設定色の数、セル、保存動作、スパース ストレージは変更しません
バージョン 2.361.45
追加
- クラシック XLS ブックと XLSX ブックは、パブリックおよび物理インデックス、正規化された ARGB 値、定義数と参照数、コンシューマー種別、保持ロックを含む決定論的な 56 スロット インベントリを返す、対応する
ScanIndexedColorUsageメソッドを公開するようになりました
変更
- インデックス カラー使用状況のスキャンは、未使用セルをマテリアライズしたりブックの状態を変更したりすることなく、ブック スタイル プール、スパース セル参照、名前付きスタイル、範囲オーバーレイ、ワークシート グリッド線、図形、コメント、リッチ テキスト、グラフ フォント、差分スタイル、データ バー、カラー スケールをカバーするようになりました
- インデックス化された条件付き書式の色は、クラシック BIFF と OpenXML の差分スタイル、データ バー、カラー スケールを通してラウンドトリップするようになりました。ワークシート パーツの前に差分スタイル ID を出力するストリーミング保存も含まれます
バージョン 2.361.44
追加
- クラシック XLS ブックと XLSX ブックは、最も近いパブリック パレット インデックス、物理スロット、正規化された ARGB 値、二乗知覚距離、完全一致ステータスを返す、対応する
NearestIndexedColorメソッドを公開するようになりました
変更
- 最も近いインデックス カラーのマッチングは、両方のブック エンジンとレガシー カラー マネージャーにわたって 1 つのキャッシュ済み OKLab 実装を共有するようになりました。決定論的な最小インデックスのタイブレークが行われ、キャッシュ更新は実効的なパレット変更時に限定されます
- 最近接色クエリは、56 個の物理 BIFF パレット エントリのみを走査し、半透明の入力を拒否します。パレットやブックの状態を変更することはありません
バージョン 2.361.43
追加
- クラシック XLS ブックと XLSX ブックは、パブリック カラー インデックス、BIFF
icv値、OOXML インデックス カラーを分類し、パレット、自動、システム、無効の各メタデータを返す、対応するResolveIndexedColorオーバーロードを公開するようになりました - 型付きインデックス カラー結果は、生のインデックス、パレット スロット、システム カラー ロール、正規化された ARGB 値、具体的な色が解決されたかどうかを報告します
変更
- 自動色およびシステム カラー トークンは、現在の Windows デスクトップを暗黙的に照会しなくなりました。具体的な環境色が必要な場合は、呼び出し元が明示的なリゾルバーを提供できます
- テーマ システム カラーは、保存済みのフォールバック RGB 値を使用するようになりました。読み込み、保存、ヘッドレス処理がマシン間で決定論的に保たれます
修正
- 無効な OOXML インデックス カラー値は不透明な黒に解決されなくなりました。レガシー カラー マネージャーの既定値は、正確な 128 チャネル パレット値を使用します
バージョン 2.361.42
追加
TXLSWorksheetとTXLSXWorksheetは、1 基準の行または列の集計ノードを扱う、対応するTryGetOutlineNode、SetOutlineNodeCollapsed、SetOutlineDisplayLevelメソッドを公開するようになりました
変更
- ワークシート アウトラインのクエリと更新は、スパースなエンジン メタデータを圧縮プランに適応させ、既定では入れ子の子状態を保持します。未使用のワークシート座標を走査することなく、非表示と折りたたみの変更を適用します
- OpenDocument の行グループと列グループは、直接のメタデータ変更、構造編集、ODS ラウンドトリップ、XLSX 集計ノード マーカーへの変換を通して、ネイティブの入れ子表示状態を保持するようになりました
TXLSXWorksheet.ToggleRowGroupedとToggleColGroupedは、集計ノード API の方向を認識する互換性ラッパーとして引き続き利用できます
バージョン 2.361.41
追加
TXLSOutlineGeometryは、冪等なノード折りたたみ/展開と 1 基準のアウトライン表示レベル変更のための、圧縮されたTXLSOutlineMutationPlanインスタンスを構築できるようになりました- アウトライン変更プランは、明示的な子の保持、折りたたみ、展開モードを公開します。既定では、入れ子の折りたたみマーカーは独立したままです
変更
- 入れ子のアウトライン ノードの展開では、可視性の導出時に折りたたまれた祖先と子孫が考慮されるようになりました。一括ノード検出は、線形の単調スタック パスでマテリアライズされたスパンのみを走査します
バージョン 2.361.40
追加
- 新しいエンジン中立の
lxOutlineユニットは、ソート済みスパース スパンから行または列のアウトライン ジオメトリを構築し、未使用のワークシート座標を走査することなく、集計先行/集計後続ノード、入れ子の詳細範囲、集計レベル、非表示状態、明示的な折りたたみマーカーを検出します
バージョン 2.361.39
追加
- クラシック XLS の列メタデータは、
TXLSColumnInfo.CollapsedとTXLSColumnInfoList.Collapsedを通して、独立したアウトライン折りたたみマーカーを公開するようになりました
修正
- クラシック XLS の列アウトライン折りたたみマーカーは、BIFF ラウンドトリップ、列書式コピー、ワークシート コピー、隣接レコードの結合を通して維持されるようになりました。定義幅、最適幅、ふりがなフラグはそのまま保持されます
バージョン 2.361.38
修正
- クラシック XLS のアウトライン集計列は、左から右および右から左のワークシート表示を通して論理的な左または右の位置を保持するようになりました。反対の
WSBOOL方向ビットを書き込むことはありません
バージョン 2.361.37
追加
- クラシック XLS と XLSX のワークシートは、明示的なターゲット セル コンテキストで読み取り専用の A1 または R1C1 数式評価を行う
EvaluateFormulaAtを公開するようになりました IXLSFormulaEvaluationTemplateは不変の数式アンカーを 1 回コンパイルし、EvaluateAtまたはEvaluateAtWithOptionsを通して他のセルで繰り返し評価します- 数式評価オプションには、数式長、構文項目ステップ、再帰深度、生成配列バイトの上限が含まれるようになりました。上限に達したことは
xlfeResourceLimitとして報告されます
変更
- 1 回限りの評価と再利用可能な評価は、ブックの状態を書き込むことなく、ワークシート ローカルの名前、構造化参照、キャッシュされていない数式依存関係、配列ルート、揮発性ステータス、キャンセル、明示的に許可された外部参照を共有するようになりました
- 既存のブックおよびワークシートの
Calculateメソッドは、型付きコンテキスト評価器の互換性ファサードのままです
修正
- コンテキスト評価は、数式エラーのバリアントを保持するようになりました。解析、未サポート関数、循環参照、外部参照、キャンセル、ワークシート有効期間、リソース上限の各失敗が区別されます
- 再利用可能な R1C1 テンプレートは、別のターゲット セルで評価される際、コンパイル アンカーから相対的な行と列のオフセットを変換するようになりました
バージョン 2.361.36
追加
ConvertExternalDefinedNamesToRefErrorsがクラシック XLS ブックと XLSX ブックで利用できるようになりました。確認済みの外部ブック定義名を、通常のセル数式を書き換えることなく切り離します- スキップされた不正または未サポートの定義は、
xlsDiagnosticDefinedNameConversionSkippedを通して報告されます
変更
- この変換は、選択された定義をネイティブの
#REF!にアトミックに置き換えます。ブックまたはワークシートのスコープ、可視性、コメント、マクロおよび組み込みフラグ、不明な属性、外部リンク パーツは保持されます
修正
=[1]!RemoteNameのような外部定義名スロット構文は、宣言されたブック リンクを通して解決されるようになりました。依存する数式は、再計算中に結果の Excel エラー値を保持します
バージョン 2.361.35
追加
TXLSWorkbookWorkspace.Recalculateは、強連結成分検出とダーティ世代伝播を備えた 1 回のブック横断的なトポロジカル パスで、登録されたクラシック XLS、XLSX、ODS の数式ノードを評価するようになりましたTXLSWorkspaceRecalcResultは、グラフ再利用、ダーティ ノードと評価済みノード、循環、ブロックされた依存先、無効化、実行時キャッシュのヒットとミスを報告します
変更
- ワークスペースは、登録または数式トポロジが変更されるまで依存関係グラフを保持します。通常の値編集では、影響を受けるブック ノードとその推移的な依存先のみがダーティになります
- 1 回の計算パスでの外部セルの繰り返し読み取りは、正確なブック、ワークシート、行、列のキャッシュを共有します。このキャッシュは、スケジュールされた各数式更新の前に無効化されます
修正
- 数式セル グラフに実際の循環が含まれない限り、ブック間の双方向リンクは循環として扱われなくなりました。循環のメンバーとそのブロックされた依存先は、古いキャッシュ値を返す代わりに無効化されます
- 失敗または循環無効化されたワークスペース セッションは、エンジン ローカルのダーティ状態を保持するようになりました。後のブック再計算では、部分的なパスを完了と見なす代わりに、未完了の数式が再試行されます
バージョン 2.361.34
追加
TXLSWorkbookWorkspace.BuildDependencyGraphは、登録されたクラシック XLS、XLSX、ODS ブックにわたる 1 つの依存関係グラフを作成するようになりました。ブック、ワークシート、セル、矩形範囲、スコープ付き定義名の ID が保持されますTXLSWorkspaceDepGraphは、数式ノード、参照、エッジ、セル依存、定義名依存のクエリに加え、パフォーマンス検証のための候補チェック診断を公開します
変更
- 大きな数式範囲は個々のセルに展開されず、コンパクトな区間のままです。行区間ツリーは、パック済みワークシート値をマテリアライズすることなく、依存先ルックアップとエッジ構築の両方を剪定します
- ローカル定義名は、シンボリックな依存関係と静的に解決されたセルまたは範囲の依存関係の両方を保持します。外部定義名は、宣言された外部ブック スロット、名前、ワークシート スコープを保持します
修正
- 数式パーサーが省略可能な外部ブック プレフィックスをチェックしている間に、通常の定義名がクリアされなくなりました
バージョン 2.361.33
追加
TXLSWorkbookWorkspace.OnLoadWorkbookは、正規化された ID ごとに最大 1 回、呼び出し元が制御するポリシーを通して外部ブックを要求できるようになりました。ResolveWithLoaderは、型付きの未検出、エラー、循環、リソース上限の診断を報告しますMaxLoadDepth、MaxWorkbookCount、ResetLoadAttemptsは、外部ブック読み込みの明示的な上限と再試行制御を提供します
変更
- 同時発生する外部ブック要求は 1 つの実行中ロード結果を共有するようになり、入れ子の再入はスレッド間ロード サイクルで待機することなく拒否されます。既定のワークスペースは、ファイル システムやネットワークへのアクセスを引き続き行いません
バージョン 2.361.32
追加
- クラシック XLS ブックは、
CreateWorkspaceWorkbook、RegisterExternalWorkbook、UnregisterExternalWorkbook、ExternalWorkspaceを公開するようになりました。クラシック、XLSX、ODS の各ブックが、1 つのエンジン中立ワークスペースを通して外部数式値を提供できます - クラシック XLS の外部リンク キャッシュは、型付き XCT および CRN レコードから数値、文字列、ブール値、エラー、空白の値をデコードし、ワークシートをマテリアライズすることなくスパースな定数時間ルックアップに格納するようになりました
変更
- 外部数式の評価は、位置的フォールバックの前にワークシート名を解決し、明示的に登録されたライブ ブックを最初に読み取り、次に型付きファイル キャッシュを読み取り、その後
#REF!を返す一貫した順序になります。破棄された登録は、暗黙的なファイルやネットワーク アクセスなしで取り消されます - 引用符で囲まれた外部ブック ID には、URI スキーム、Windows ドライブ文字、その他のコロンを含められ、3 次元ワークシート範囲の区切り文字と誤認されません。数式インポート中も ODF 外部ソースの IRI はそのまま維持されます
バージョン 2.361.31
追加
TXLSWorkbookWorkspace、IXLSWorkspaceWorkbook、TXLSXWorkbook.CreateWorkspaceWorkbookは、明示的な解決ステータス、世代追跡、取り消し可能なブック アダプターを備えた、スレッドセーフな外部ブック ID と登録の基盤を提供します
変更
TXLSXWorkbook.RegisterExternalWorkbookは、パスと拡張子を保持し、所有ブックを基準に相対リレーションシップ ターゲットを解決し、あいまいなエイリアスや同一ベース名のターゲットを黙って 1 つ選ぶ代わりに拒否し、ターゲット ブックが破棄されると登録を取り消し、暗黙的なファイルやネットワーク アクセスなしで型付き外部リンク キャッシュ フォールバックを保持するようになりました
バージョン 2.361.30
追加
- クラシックおよび XLSX の読み取り専用ブック ビューは、
xlsvEvaluateFormulasを通してオンデマンドで数式を評価し、保存済みの数式キャッシュを置き換えることなくFormulaEvaluationで独立した結果を報告できるようになりました
変更
- 同時に使用される読み取り専用ビューは、数式再帰フラグ、スカラー結果、コンパイル済み XLSX 数式、配列マトリックスを分離するようになりました。XLSX 外部数式はファイル ローカルの外部リンク キャッシュのみを使用し、ライブ ブック登録を逆参照しません
修正
- XLSX 外部リンクのキャッシュ値は、外部 XTI レコードが持つ 1 基準のワークシート インデックスを、正しい 0 基準のキャッシュ済みシート エントリに解決するようになりました
バージョン 2.361.29
追加
- XLSX ブックは、
IXLSXWorkbookOwner.CreateReadOnlyViewを公開するようになりました。ビュー ローカルのアクティブ シート、値渡しのマテリアライズ済みおよびパック済みセル スナップショット、キャッシュ済み数式結果、オプトインの数式テキスト、安全なオーナー/ビュー解放順序、フェイルファストな書き込み除外が含まれます
変更
- XLSX 読み取り専用ビューは、ローカルに保存された外部数式キャッシュのみを使用し、弱参照のライブ ブック登録を逆参照しません
バージョン 2.361.28
追加
- クラシック ブックは、定数時間の共有モデル ビューのための
CreateReadOnlyViewとIXLSReadOnlyWorkbookViewを公開するようになりました。独立したアクティブ シート、値渡しのセル スナップショット、キャッシュ済み数式結果、オプトインの数式テキスト、参照カウント式のオーナー有効期間、フェイルファストな書き込み除外が含まれます
バージョン 2.361.27
追加
- クラシック、XLSX、ODS の各ブックは、安全な有効期間無効化を備えたエンジン中立の数式キャッシュ検査のための
CreateFormulaCacheReaderと共有IXLSFormulaCacheReaderインターフェイスを公開するようになりました
変更
- 共有数式キャッシュの検査では、各メンバーの独立した保存結果が保持されるようになりました。キャッシュ値を持たないフォロワーは、ルート メンバーの値を継承する代わりに「欠落」を報告します
バージョン 2.361.26
追加
TXLSXWorkbook.TryGetCachedFormulaValueは、計算やブック変更を行わずに、XLSX および ODS の数式キャッシュの存在、出所、値の種類を報告するようになりました
修正
- XLSX および ODS の数式キャッシュは、保存と再オープンを通して、欠落結果と明示的な空白結果、空文字列、ブール値 false、数値 0、型付きエラー、明示的な日付を保持するようになりました。変更された数式は、古いキャッシュ結果をシリアライズしなくなります
バージョン 2.361.25
追加
- クラシック ブックは、明示的なキャッシュ存在、出所、値の種類を備えた
TryGetCachedFormulaValueを公開するようになりました。計算、ユーザー関数コールバック、トークン逆コンパイル、ブック変更を行わずに保存済みの数式結果を読み取れます
修正
- クラシック XLS の数式ブール値キャッシュとエラー キャッシュは、通常数式と共有数式の両方で指定された BIFF ペイロード バイトを使用するようになりました。読み込まれたエラー結果は、保存と再オープンを通して型付き
varError値のままです
バージョン 2.361.24
追加
- クラシックおよび XLSX ブックは、独立したスタイルを持つ保存済み空白セルを
xlckBlankスナップショットとして含められるCreateLoadedCellCursor(Boolean)オーバーロードを提供するようになりました
変更
- オプトインの空白走査は、ワークシート、行、列の順序を保持し、パック済み XLSX ストレージを圧縮したまま維持します。継承書式の座標に加え、スタイルなしの Empty および Null プレースホルダーは除外されます
バージョン 2.361.23
追加
- XLSX ブックは、ワークシートをまたいで保存済みの値セルと数式セルを定数状態で行優先に走査するための
TXLSXWorkbook.CreateLoadedCellCursorを公開するようになりました TXLSLoadedCellKindにxlckErrorが追加され、保存済み XLSX エラー値が独自の値の種類を保持するようになりました
変更
- XLSX カーソルは、セルをソートしたりパック済み値をマテリアライズしたりすることなく、マテリアライズされたスパース行ブロックまたはパック済みストレージを直接走査します。数式スナップショットは、再計算せずに現在保存されているキャッシュ値を返します
- ブック全体のトポロジ変更とブックの解放は、共有ライフタイム リースを通して XLSX カーソルを無効化します。既存セル内容への編集では、走査は有効なまま、キャプチャされたスナップショットは所有されたままです
バージョン 2.361.22
追加
- クラシック ブックは、ワークシートをまたいで保存済みの値セルと数式セルを定数状態で行優先に走査するための
IXLSWorkbook.CreateLoadedCellCursorを公開するようになりました TXLSLoadedCellSnapshotは、所有されたシート ID、1 基準の座標、スタイル、値の種類、値、数式テキストを返します。内部セル オブジェクトは公開しません
変更
- ロード済みセル カーソルは、セル トポロジ、ワークシート コレクション、ブック モデル置換の変更後にフェイルファストになります。既存セル内容への編集では、走査は有効なまま、以前にキャプチャされたスナップショットは変更されません
バージョン 2.361.21
追加
- クラシックおよび XLSX のワークシート セル ストアとワークシート コレクションは、安全な長時間走査のための独立した構造世代カウンターを公開するようになりました
XlsValidateStructureGenerationとEXLSLoadedCellCursorInvalidatedは、ロード済みセル リーダー向けの統一されたフェイルファスト検証契約を提供します
変更
- セルの作成、削除、クリア、座標の並べ替え、パック ストレージへの移行、インデックス再構築、およびワークシートの追加、削除、移動操作は該当する世代を進めます。既存セル内容の編集、ワークシートの名前変更やアクティブ化、no-op 変更では世代は安定したままです
バージョン 2.361.20
追加
TXLSForwardReaderは、XLS、XLSX、CSV、TSV と同じコールバック サーフェスで ODS 入力を受け入れるようになりましたPeakRowBufferedBytesとSheetPassesStartedは、共有行バックエンドのピーク論理行ワーキング セットと成功したワークシート パス数を公開します
変更
TXLSForwardReaderは、サポート対象のすべての形式に対してTXLSRowCursorを適応させるようになりました。個別の走査パスを維持する代わりに、行範囲、列投影、数式状態、リッチ テキスト、パスワード、スキップ レコード、ストリーム位置の動作が共有されます- フォワード リーダーのシート インデックスは一貫して 1 基準になり、
OnSheetでスキップされたワークシートは開かれず、解凍もされません
バージョン 2.361.19
追加
TXLSRowCursorは、明示的な closed、before-first、active、EOF、cancelled、faulted の各状態を公開するようになりました。アクティブなワークシート ストリームをソースを閉じずに解放する、冪等なCancelメソッドも備わりますCurrentRowViewは、セル配列を複製することなく、世代チェック付きの現在行の借用ビューを提供します。カーソルの前進、シート選択、キャンセル、クローズ、破棄が行われると、以前のビューはEXLSRowCursorViewInvalidatedで無効化されます- ストリーム オープンは
xsoBorrowedまたはxsoOwnedを受け入れ、オープンが成功した後にのみ所有権を移転します。PeakRowBufferedBytesは、最後のオープン以降の推定ピーク論理行バッファを報告します
変更
- ワークシート パーツおよびパス開始の失敗は、元の読み取り例外を保持し、キャンセルや通常の EOF として現れる代わりにカーソルを faulted 状態にするようになりました。シートを明示的に選択すると、再試行のためにパスがリセットされます
バージョン 2.361.18
追加
TXLSDirectCellとTXLSRowCursorCellは、HasFormulaとFormulaTextAvailableを公開するようになりました。プレーンな値、テキストが利用可能な数式、テキストが抑制または利用不可の数式が区別されますTXLSDirectReader、TXLSForwardReader、TXLSRowCursorはIncludeFormulaTextを提供するようになりました。無効にすると、キャッシュ値、座標、スタイル、数式の存在は保持されつつ、XLSX および ODS ストリームでの数式テキストの蓄積が回避されます
変更
- 行範囲と列投影は、値、数式、リッチ テキストの割り当ての前に、XLS、XLSX、ODS、CSV、TSV の各バックエンドにプッシュされるようになりました。ODS の繰り返し列スパンは選択列間を直接ジャンプし、繰り返し行ブロックは要求範囲にクリップされます
- 行カーソルのパス オプションは、ワークシート パスの実行中は固定化され、EOF、シート選択、クローズの後に再び変更可能になります。1 つのパスが互換性のないフィルターやデコード設定を混在させることを防ぎます
バージョン 2.361.17
追加
TXLSRowCursorは、ODS ファイルと呼び出し元所有のストリームを開くようになり、mimetype またはcontent.xmlによる ODS パッケージの自動検出、ワークシート名のプリロード、ブックをマテリアライズすることなくFindFirstとFindNextで選択されたテーブルをストリーミングできるようになりました
変更
- ODS の行走査は、繰り返し行と列を遅延展開し、覆われたセルを独立した値として省略し、スタイル付き空白とキャッシュ済み数式値を保持し、借用ストリームの位置を復元します。無効またはグリッド上限を超える繰り返し回数は
OnSkippedRecordを通して報告されます
バージョン 2.361.16
追加
TXLSRowCursorは、CSV および TSV ファイルや呼び出し元所有のストリームをストリーミングするようになりました。UTF-8 と UTF-16 の BOM 検出、複数行の引用レコード、エスケープされた引用符、コンマ、セミコロン、タブ、パイプの区切り文字推定、オプションの区切り文字オーバーライド、オプションの数値、ISO 日付、ブール値、エラー型認識を備えます
変更
TXLSForwardReaderとTXLSRowCursorは、1 つの一時停止可能なテキスト行バックエンドを共有するようになりました。同一のコールバック結果とプル結果を保持しつつ、前進前に前の行の Variant、数式、リッチ テキスト ペイロードを解放します
バージョン 2.361.15
追加
TXLSRowCursorは、ファイルまたはストリームからクラシック.xlsブックを開くようになり、BIFF 複合コンテナを自動検出し、現在の論理行のみを保持しながら、キャッシュされた数値または文字列の数式結果に加えて保存済みのBlankおよびMulBlankセルを返します
変更
- 行カーソルの
Openオーバーロードは、オプションのTXLSForwardFormatを受け入れます。ファイル オープンは内部 BIFF ストリームを所有し、ストリーム オープンは呼び出し元のストリームを借用してCloseで初期位置を復元します。繰り返されるFindFirstパスは、選択されたワークシートへ直接シークします
バージョン 2.361.14
追加
- 数式計算が
ISFORMULAに対応しました。個々のセル、シート間参照、矩形範囲に対応し、参照先の数式を評価することなく、範囲入力に対して同じ形状のブール配列を返します
変更
- 数式存在チェックは、通常の値と空白、共有数式メンバー、クラシックおよび XLSX の配列数式メンバー、動的配列アンカー、動的スピル子を区別します。生成配列は
FormulaArrayMemoryLimitによって上限が設けられます - XLSX は
_xlfn.プレフィックス付きでISFORMULAを保存し、ODS は標準の OpenFormula 表記を出力します。クラシック XLS の保存は、未サポートの先物関数を、部分的なストリームをコミットせずに拒否します
修正
- 数式テキストの解析は、7 種類の標準 Excel エラー リテラルを認識するようになり、
#REF!が参照専用関数を通して伝播します。スカラーに解決される定義名は、#NAME?の代わりに#VALUE!を報告します
バージョン 2.361.13
追加
- 数式計算が
UNICHARに対応しました。補助文字と私用文字を含む Unicode スカラー値の範囲全体をカバーし、ゼロ、範囲外の値、サロゲート コード ポイント、Unicode 非文字に対して Excel 互換のエラーを返します - 数式計算が
BAHTTEXTに対応しました。タイ バーツとサタンのテキスト、ゼロから離れる方向への小数 2 桁の中間丸め、負の値、繰り返されるミリオン グループ、有限の科学的記数法入力に対応します
変更
UNICHARとBAHTTEXTは、ローカル エラーを保持しながら、範囲と生成配列を要素ごとにマッピングします。XLSX はUNICHARを先物関数プレフィックス付きで保存し、BAHTTEXTは XLS と XLSX の両方で標準の裸関数のままです
バージョン 2.361.12
追加
- 数式計算が
COMBINAとPERMUTATIONAに対応しました。切り捨てられた非負引数、オーバーフロー チェック、シングルトン配列ブロードキャスト、要素ごとのエラーに対応し、さらに固定次元上限のないMUNIT単位行列もサポートします - クラシック ブックと XLSX ブックは、既定 64 MiB の
FormulaArrayMemoryLimitを公開し、並列 XLSX 再計算ワーカーを含む生成数式配列ペイロードに上限を設けます
変更
PERMUTATIONAは対数冪乗を使用し、COMBINAは乗算漸化式を短縮し、MUNITは対角成分のみを書き込みながらコンパクトな数値マトリックスを割り当てます
修正
- 数値の数式配列がスカラー数として分類されなくなりました。新しく作成されたクラシック ブックは、最初の保存前の数式計算中に BIFF97 グリッド上限を適用します
バージョン 2.361.11
追加
- 数式計算が
COT、ACOT、COTH、ACOTH、CSC、CSCH、SEC、SECHに対応しました。スカラーおよびブロードキャスト配列オペランドにわたって、主値、定義域、特異点、有限入力、大きな引数の各規則が適用されます
修正
- マッピングされた数式関数は、直接的なスカラー失敗をスプレッドシート エラー値として保持するようになりました。大きな有効入力にはキャンセルに強い逆数と指数テールの分岐を使用し、
_xlws.を付けずに正確な_xlfn.名を書き込み、未サポートのクラシック BIFF 数式をクリーンに拒否します
バージョン 2.361.10
追加
- 数式計算が
CEILING.MATHとFLOOR.MATHに対応しました。省略可能な基準値とモード引数、符号に依存しない基準値、正確な小数倍数の境界、指定された負数モードの方向に対応します
変更
- 数式レベルの配列関数は、シングルトン行およびシングルトン列のブロードキャスト、1 回限りの範囲スナップショット、要素ごとの変換または計算エラーを備えた線形要素マッパーを共有できるようになりました。XLSX は両方の新関数に
_xlfn.プレフィックスを使用し、クラシック BIFF 保存は未サポートの数式をクリーンに拒否します
バージョン 2.361.9
追加
- 数式計算が
SORTBYに対応しました。安定したマルチキーの行または列並べ替え、独立した昇順/降順の方向、省略時の方向既定値、範囲または生成配列キーに対応し、1 回限りのソースとキーのスナップショットの後、O(n log n) のソートを行います
修正
- クラシック BIFF の保存は、内部の先物関数識別子が拒否された後に成功を報告する代わりに、数式を表現できない場合はクリーンに失敗するようになりました。XLSX は
_xlfn.を付けてSORTBYを書き込み、_xlws.を追加することはありません
バージョン 2.361.8
変更
- ワークシートのゼロ非表示モードは、ブック ビューア、プレビュー、印刷、ビットマップ、EMF、SVG、PDF、クラシック HTML、XLSX HTML の各パスにわたって 1 つの生値判定を使用するようになりました。実際の数値ゼロは、数値書式設定とテキスト測定の前に隠されます。数式表示モードは優先順位を維持します
修正
- XLSX ワークシート ビューは、1 つの設定を通してゼロ非表示状態を解析、書き込み、コピーするようになりました。1904 日付基準を正しく処理し、非表示ゼロ セルの条件付き書式ビジュアルとハイパーリンク ジオメトリを保持します。保存済みの値、公開書式テキスト、CSV、ODS 出力は変更されません
バージョン 2.361.7
変更
- ワークシートの数式表示モードは、ブック ビューア、プレビュー、印刷、ビットマップ、EMF、SVG、PDF、クラシック HTML、XLSX HTML の各パスにわたって、保護セルを認識する 1 つのテキスト判定を使用するようになりました。数式テキストは標準配置の下でテキスト配置を使用し、明示的な配置を保持し、隣接セルへあふれ出すことなく、永続化されない 2 倍の実効レイアウト幅を受け取ります
修正
- XLSX ワークシート ビューは、
showFormulas="1"とshowFormulas="true"の両方を受け入れるようになりました。同一ブック内およびブック間のワークシート コピー中も設定を保持し、数式キャッシュ、CSV 出力、ODS 永続化、公開書式値契約を変更することなく、必要なsheetView状態を出力します
バージョン 2.361.6
変更
- XLSX 外部ブック数式は、
OnlyExternal変換、数式診断、計算バインディング、ブック間コピー、生成数式のシリアライズにわたって、1 つの文法認識ブック プレフィックス レクサーを共有するようになりました。数値リンク スロットは正準であり、構造化参照、文字列リテラル、不正なインデックス、あいまいなファイル名プレフィックスはフェイルクローズド (安全側に倒れて失敗) となります TXLSXExternalLinkは、ソースのRelationshipId、1 基準のSourceSlot、型付きLinkKindを公開するようになりました。コレクション順序やターゲット テキストから ID を推測することなく、ブック、DDE、OLE、未解決の外部参照エントリを監査できます
修正
- XLSX 外部リンクのターゲットまたはシート リストの変更は、すべてのセルを再走査する代わりに、リビジョンごとにコンパイル済み外部数式バインディングを無効化するようになりました。リレーションシップ ファイルを持たない変更されていない DDE または OLE 外部リンク パーツは、保存中もバイト単位で保持されます
バージョン 2.361.5
修正
- XLSX 外部ブック数式スロットは、リレーションシップ ファイルの順序ではなく、
workbook.xml外部参照のドキュメント順に従うようになりました。欠落、未解決、型不一致のリレーションシップは空スロットを保持するため、後続の[N]参照はずれません
バージョン 2.361.4
変更
OnlyExternalによるクラシック XLS 数式の凍結は、保持された BIFF 参照を分類し、確認済みの外部ブック数式のみを変換するようになりました。内部、アドイン、DDE/OLE、不正な参照は数式のままです
修正
- 等号またはアポストロフィで始まる数式結果は、値変換中もリテラル文字列のままになりました。配列数式グループは、ルート数式やスピル数式が解放される前にスナップショットされます
バージョン 2.361.3
変更
- クラシック XLS のサポーティング リンクと外部シート インデックスは、自己、同一シート、アドイン、外部ブック、DDE/OLE、未使用、不明の各レコードに対して、上限付きの型付き分類を使用するようになりました
修正
- 不正なサポーティング リンク ペイロードは、異なるリンク型として再構築される代わりにバイト単位で保持されます。切り詰められた外部シート テーブルは、レコード データを超えて読み取らなくなりました
バージョン 2.361.2
修正
- クラシック XLS 数式は、外部定義名トークン内の 0 基準の XTI インデックスを、最初のエントリを含めて正しい内部外部シート エントリに解決するようになりました
バージョン 2.361.1
修正
- 直接 XLSX ライターは、基本 SpreadsheetML の
showDropDown抑制フラグを、ShowDropDownが無効な場合にのみ出力するようになりました。公開の表示指向 API セマンティクスは保持されます
バージョン 2.361.0
追加
- グラフ系列に
CategoriesMultiLevelが追加されました。設定すると、カテゴリをフラットな文字列参照の代わりにmultiLvlStrRef(階層軸ラベル) として出力します。保存済みグラフからのラウンドトリップ復元に対応します
バージョン 2.360.0
修正
- クラシック XLS の名前コメントは、正しい
NAMECMTレコード識別子 ($0894) を使用するようになりました。以前使用されていた識別子 ($0019) は、BIFF 仕様ではWINDOWPROTECTに属します
追加
- クラシック ブックの
WindowProtectedは、WINDOWPROTECTレコード ($0019) を通してブックのウィンドウ保護フラグをラウンドトリップします。プロパティを明示的に書き込まない限り、キャプチャされた生のレコード本体が優先されます
バージョン 2.359.0
追加
- グラフ データ テーブルは、すべての罫線を常に描画する代わりに、独立した
showHorzBorder/showVertBorder/showOutlineスイッチを公開します - 折れ線グラフにドロップ ライン (
HasDropLines)、積み上げ横棒グラフに系列線 (HasSeriesLines) が追加され、どちらもラウンドトリップされます。LegendDeletedを通して、系列をプロットしたまま凡例から個別に削除できます
バージョン 2.358.0
追加
- レポート バンドに固定バンドと空データセットのセマンティクスが追加されました。データセットが空のとき、
EmptyBandPolicyはテンプレート行を保持、クリア、または削除し (未解決のプレースホルダーが残らなくなります)、FixedBandは何も挿入せずに下の行へコピーを上書きする (オーバーレイ形式のフォーム バンド向け)、DeleteLastRowは最後のコピーを折りたたんで後続の内容が突き合わさる (X 範囲の動作) ようになります
バージョン 2.357.0
追加
- PDF エクスポートは、
FontFile3OpenType ストリームとCIDFontType0子フォントを通して、CFF アウトラインを持つスタンドアロンの OpenType フォントを埋め込めます。自動モードとフル モードは完全なフォント プログラムを保持し、必要なサブセットが利用できない場合は出力のコミット前に失敗します OnGetFontDirectoriesは、要求されたフォント ファミリとスタイルに対してセミコロン区切りのディレクトリを提供します。受け入れられたツリーは 1 回だけ再帰的に検索され、キャッシュ済みフォールバック解決のために内部フォント メタデータでインデックス化されます
変更
- OpenType GPOS またはレガシー カーニング データを含む埋め込みフォントは、複雑なスクリプトだけでなく単純テキストにも位置決めされたグリフ アドバンスを使用するようになりました。測定、折り返し、配置、PDF グリフ配置の一貫性が保たれます
バージョン 2.356.0
追加
- PDF フォント埋め込みが構成可能な 4 モードのポリシーになりました。
FontEmbeddingは、従来どおりの自動、必要なサブセット化、完全なフォント プログラムの埋め込み、またはマップ専用 (フォント プログラムを取り除き、CID マッピングと ToUnicode テーブルは残す) を選択します。PDF/A はマップ専用出力を拒否します OnFontEmbedイベントは、メトリックとグリフ マッピングが解決される前に Unicode フォントごとに 1 回発生し、フォント名とファイル パスを受け取ります。明示的なHandled契約を通して、フォントごとのモードまたは代替フォント バイトを受け入れられます
バージョン 2.355.0
追加
- クラシック XLS の再計算は、遅延構築される依存関係グラフを使用し、入力変更を推移的な依存先にのみ伝播し、揮発性数式を毎パス再計算し、スパース セル ヒープ全体を再走査する代わりに依存順に数式を評価するようになりました
- クラシック XLS の循環参照は、
EnableIteration、MaxIterations、MaxIterationChangeに従うようになりました。強連結成分が独立した循環を分離し、決定論的に反復した後、下流の数式を計算します - PDF/A-3 関連ファイルに、詳細な
AddAttachmentオーバーロードが追加されました。Unicode 表示名、説明、更新時刻、エスケープされた MIME 名、バイト サイズ メタデータ、および Source、Data、Alternative、Supplement、Unspecified の各リレーションシップに対応します TXLSPDFWriterは、ブックなしでスタンドアロンの PDF ドキュメントを作成します。明示的なページ サイズ、マルチページ出力、矩形、線、楕円、測定済みスタイル テキスト、座標変換、矩形クリッピング、グラフィックス状態制御を備えます
変更
- クラシック XLS で
UseFullPrecisionを無効にすると、数式および What-If データ テーブルのキャッシュ結果が、依存数式が消費する前に実効表示数値精度へ丸められるようになりました。パーセント書式とゼロから離れる方向の中間丸めを含みます
修正
- クラシック数式の再計算は、ネイティブの 0 基準セル座標を使用するようになりました。計算失敗は成功キャッシュに入らず、依存配列関数を通したエラー伝播が保持されます
バージョン 2.354.0
追加
- グラフ軸に交差モード列挙 (
Crosses: autoZero / max / min。明示的なCrossesAtが設定されていない場合はcrossesとして出力) と軸ごとの目盛り線スタイル (in、out、cross) が追加され、すべてラウンドトリップされます - グラフの
AutoTitleDeletedがハードコードされた自動タイトル フラグを置き換え、設定すると系列から導出されたタイトルを抑制します
バージョン 2.353.0
追加
- グラフ系列に、曲線描画のための
Smooth/SmoothSetと、明示的なマーカー色のためのMarkerFillColor/MarkerBorderColorが追加されました。どちらも保存とオープンを通して保持され、共有レンダラーは平滑化されたセグメントを二次曲線として描画し、マーカー色を消費します
バージョン 2.352.0
追加
- グラフ領域の書式設定がラウンドトリップされます。
RoundedCorners、明示的なグラフ背景色と罫線色、プロット領域の背景色が保存とオープンを通して保持され、共有グラフ レンダラーは、グレーの上に白を描画する代わりに背景色と罫線色を消費します - グラフ保護スイッチは単一のマスターの下でラウンドトリップされます。
ProtectionEnabledとProtectedChartObjects、ProtectedDataEditing、ProtectedFormatting、ProtectedSelection、ProtectedUserInterfaceが OOXML のprotection要素を出力および解析します
バージョン 2.351.0
変更
- 共有ページ分割レンダラーの横棒グラフと縦棒グラフは、プロット グループのレイアウト オプションに従うようになりました。GapWidth がクラスタの幅を決定し、Overlap が隣接するバーを広げて引き寄せ、積み上げ / 百分率積み上げグループ化では系列を並べて描画する代わりにカテゴリごとにクラスタ全体が 1 本のバーに蓄積されます
バージョン 2.350.0
追加
- ブック間の範囲コピーは、すべてのセル スタイルを値によって宛先ブックのフォント、塗りつぶし、罫線、数値形式、配置、保護の各プールに再マッピングするようになりました。開いている 2 つのブック間の
CopyRangeToとCloneRangeToは、プールの順序に依存せずに書式を維持します - クラシック XLS ブックは、数値および日付の組み込みドキュメント プロパティをラウンドトリップします。
CreatedDate、LastSavedDate、RevisionNumber、EditTimeMinutesが OLE SummaryInformation ストリームを通して保持されます。ゼロ値はスキップされ、完全クリアで削除されます
バージョン 2.349.0
追加
- クラシック XLS ブックは、構造化プロパティを通して共有ブックのリビジョン保護状態を公開します。
SharedRevisionProtectedとSharedRevisionPasswordHashはラウンドトリップされます。プロパティを明示的に書き込まない限り、解析済みファイルからキャプチャされた生のレコード本体が優先されます - レポート暗号化対応:
TXLSCompiledReportTemplate.CreateEncryptedがパスワード保護されたテンプレートを直接開き、RunToEncryptedFileが 1 回の呼び出しでレポートを実行して ECMA-376 暗号化結果を書き込みます
バージョン 2.348.0
追加
- 両エンジンにクリップボード貼り付けオプションを追加:
PasteFromClipboardが値のみ (キャッシュ結果を保持し、数式、書式、結合をスキップ) と、ブロックを配置する前に既存内容をシフトする行挿入 / 列挿入モードを受け入れます - フォワード リーダーがスキップされた内容を報告: ダイレクト リーダー、行カーソル、フォワード リーダーが
OnSkippedRecordを公開します。不正なセル参照がスキップされたとき、または BIFF シート走査が切り詰められたり不一致のレコードで中止されたときに発生します
バージョン 2.347.0
追加
- レポート テーブル整形コンビネータ:
Filterが一致する行を遅延ストリーミングし、Sortが安定したマルチキー ソートを実行し、Distinctがキー タプルごとに最初の行を保持します - データ ソース アダプター:
FromDataSetが開いているTDataSetのスナップショットをレポート テーブルに取得し (フィールド名が列になり、データセット位置は復元されます)、FromObjectsが任意のオブジェクト リストや配列の公開プロパティを列にマッピングします - 双方向レポート バンド:
RunBidirectionalにより、各マスター行が関連する子テーブルから自身の列を駆動します。短い行は余分なクローンを空欄のままにする、ギザギザの列レイアウトが生成されます PreprocessAndRunはテンプレートを 2 回実行します。最初のパスで値を設定し構造ディレクティブを実行してテンプレートをデータに適応させ、2 番目のパスで再整形されたブックを再コンパイルし、残りのプレースホルダーを設定します
バージョン 2.346.0
追加
- レポート プレースホルダーが既定値を受け入れます: キーが欠落または空の場合、
{{name;fallback}}がフォールバック テキストを書き込みます - レポート式に
dbvalue(table, row, field[, default])とdbcount(table)が追加され、登録された任意のデータ コンテキスト テーブルを行と列で読み取れます。文字列から数値への変換を行うtonumber(text)と、バンド コピーに追従するref(rowOffset, colOffset)相対参照も追加されました。テンプレート、ランナー、バンドがDataContextプロパティを公開します - 裸の
{{=formula(...)}}セルは、プレーン テキストの代わりにライブ数式をセルに書き込むようになりました。その他の裸の式は評価された型を保持します (数値は数値のまま) - 新しい構造レポート ディレクティブ:
{{#imgsize zoom=150}}がディレクティブ セルにアンカーされた画像を再スケーリングし、{{#comment text}}がセル コメントを添付し、{{#html <b>bold</b>}}がフラグメントをリッチ テキストに取り込み、{{#sheetvisible Sheet false}}/{{#deletesheet Sheet}}がワークシートの表示と削除を制御します
バージョン 2.345.0
追加
- XLSX ブックに保存時再計算ポリシーが追加されました。
RecalcBeforeSaveが、ファイル保存時の動作として手動 (既定)、ダーティ時のみ再計算、常に再計算を選択します RecalcNeededが、現在ダーティな数式セルやキャプチャされた編集があるかどうかを報告し、RecalcCellがブックを再計算して、シート、行、列で指定した 1 つのセルの最新計算値を返します
バージョン 2.344.0
追加
- レポート テンプレートがセル テキスト内の構造ディレクティブに対応:
{{#delete A2}}が名前付き範囲をクリアし、{{#format fmt=0.00 bold fill=FFFF00}}がディレクティブ セルの上の列に数値形式、太字、斜体、フォント、塗りつぶしの色を適用し、{{#aggregate sum A2:A99}}が=SUM(A2:A99)形式の数式を書き込みます。すべて値プレースホルダーの設定後に実行され、ディレクティブ セルはその後消費され、不明なディレクティブ動詞は引き続きテンプレート診断として報告されます
バージョン 2.343.0
追加
- ZIP ライターが ZIP64 アーカイブを生成します。32 ビット サイズ上限に達するか超えるエントリは、センチネル付きクラシック フィールドとともにローカル ヘッダーに ZIP64 拡張フィールドを予約し、セントラル ディレクトリ レコードはバージョン要件の引き上げとともに 64 ビットのサイズとオフセットを出力します。いずれかのクラシック フィールドが飽和した場合は、常に ZIP64 EOCD レコードとロケーターがセントラル ディレクトリ終端レコードの前に置かれます
- 書き込み側のエントリおよびアーカイブ サイズ上限がそれぞれ 16 GB と 64 GB に引き上げられました。読み取り側の解凍ガードは変更されていません
バージョン 2.342.0
追加
- 埋め込み画像がアクセシビリティ メタデータを持つようになりました。すべての画像の
AltTextとAltTextTitleが、描画のdescrおよびtitle属性としてシリアライズされ、生のアンカー XML を再生しないブックでは型付きモデルに読み込み直されます
変更
- スライサーとタイムライン パーツは既に、不透明なパッケージ層を通してロスレスでラウンドトリップしています (今回のリリースでエンド ツー エンドで検証済み)。ラウンドトリップ契約は、スライサーを含むパッケージのオープンと再保存をカバーする回帰テストによって固定されました
バージョン 2.341.0
追加
- レポート ランナーが完成した出力を自動調整 (オートフィット) できます。
AutofitModeが、すべてのターゲット適用後かつシリアライズ前にすべてのシートに対する行、列、または両方のパスを選択し、AutofitAdjustmentが測定サイズに対する余裕をオプションで追加します - 折り返し行は、列幅に対して測定された行数からサイズが決まります。テンプレートが生成した複数行のセル テキストは、Excel 自身のオートフィットと同じように行を拡張します
バージョン 2.340.0
追加
- PDF エクスポートは、カタログの
/PageModeエントリを通して、初期ビューア モード (ブックマーク、サムネイル、フル スクリーン、オプション コンテンツ、添付ファイル) を設定できます - PDF エクスポートは、ドキュメント読み込み時に、明示的なズーム率で選択ページへジャンプする、またはブックマーク パネルを開くオープン アクションを定義できます
- XMP メタデータが、
DocumentIDとInstanceID識別子、xmpMM:Historyイベント、更新日時とメタデータ日付、アーカイブ検証ツールが期待するdc:format宣言を保持するようになりました
バージョン 2.339.0
追加
- 物理印刷パイプライン: 新しい
TXLSPrintDocumentが、共有ページ分割モデルを通して、ページ ウィンドウ、コピー丁合い、ドキュメント タイトル、ページ印刷前 / ページ生成後イベントとともに、ワークシート、ブック、またはすべての表示シートを印刷します - ブック ビューアのプレビューにズーム モードが追加されました (ページに合わせる、幅に合わせる、または明示的な 25% から 400% の倍率)。Ctrl+ホイールによるズーム、ホイールによるページ送り、拡大ページがウィンドウを超えるときの水平パンに対応します
バージョン 2.338.0
追加
- グラフ レンダリングが値軸を描画するようになりました。左端に沿った目盛りと右揃えの数値ラベル、有効な場合の主要グリッド線、表示単位スケーリング、反転した向き、対数クランプが含まれます
- 第 2 値軸に割り当てられた系列は独自のスケールに対してマッピングされるため、コンボ グラフは独立した第 1 / 第 2 の大きさを維持します
- バブル チャートは、固定マーカー ドットの代わりに、バブル サイズ列から導出された面積スケールのバブルを描画します
- メモリ内グラフは、キャッシュが空の場合に所有シートを基準に値、カテゴリ、バブル範囲を解決します。新しく作成されたグラフも、読み込まれたグラフと同じように描画されます
- グラフ モデルに、編集可能なドーナツの穴のサイズ、最初のスライスの角度、レーダー スタイル、of-pie タイプ、分割位置、分割モード、第 2 プロット サイズ、間隔が追加され、すべて保存と読み込みを通して保持されます
修正
- ポイントが値を持ち数値カテゴリを持たないカテゴリ グラフは、プレースホルダーで描画を中止しなくなりました。以前はこれにより、すべての縦棒、横棒、折れ線グラフで目盛り、グリッド線、系列出力が抑制されていました
バージョン 2.337.0
追加
- ページ分割出力は、SVG エクスポーターとページ分割モデルの新しい
PrintCommentsモードを通して、セル コメントを末尾一覧として描画できます。セル アドレス、作成者、テキストがシートの最終データ行の下に表示されます - 名前付き描画オブジェクトは、
ExportObjectAsPNGを通して、構成された DPI とスケールで PNG 画像としてエクスポートされます。測定のみを行い、描画せずにオブジェクトのポイント寸法を返すGetObjectSizeも用意されています - 使用範囲外のテキスト図形アンカーは、グラフや画像と同様に印刷面を拡張するようになりました
変更
- ページ分割レンダラーは、パスごとに解決済みセル フォントをキャッシュし、繰り返されるテキスト測定をメモ化します。縮小して全体を表示するループやワード ラップから、冗長なフォント プール読み取りと GDI 測定呼び出しが除去されます
バージョン 2.336.0
追加
- セル テキストの回転が、ページ画像、SVG、印刷、プレビュー出力で描画されるようになりました。1〜90 度の反時計回りと時計回りの角度はセル中心を軸に回転し、255 の縦書き形式は 1 行に 1 文字ずつ出力します
- 下付きおよび上付きセルは、垂直配置を失う代わりに、ベースラインをずらし、グリフ サイズを縮小して描画されます
- ヘッダーとフッターのセクションは、ページ分割駆動のすべての出力で、
&nnポイント サイズと&K色書式コードを尊重します - ページ分割出力の列幅は、ブックの標準フォントの測定された最大桁幅から導出されます。Calibri 11 以外のフォントに基づくブックも、Excel と正確に一致する列境界でページ分割されます
- カスタムのクラシック グリッド色を持つワークシートは、固定のグレー既定値の代わりに、そのパレット エントリでグリッド線を描画します
バージョン 2.335.0
追加
- 約 70 個のクラシック ワークシート関数が、解析されるだけでなく評価されるようになりました。数学/三角関数グループ
ATAN2 ASIN ACOS SINH COSH TANH ASINH ACOSH ATANH EVEN ODD、日付/時刻グループTIME HOUR MINUTE SECOND DATEVALUE TIMEVALUE DAYS360、財務グループMIRR IRR IPMT PPMT DB、TRANSPOSE TYPE N ADDRESS ROMAN HYPERLINK MAXA MINA、さらにNORMSDIST TDIST CHIDIST FDIST POISSON QUARTILE PERCENTILE PERCENTRANK COVAR CHITEST GAMMALNのような、引数リストを共有するドット付き実装へ転送される 2010 年以前の表記の分布/統計ファミリも含まれます
修正
NORMSDISTなどの 1 引数のレガシー正規分布 CDF 形式が、誤ってスケーリングされた誤差関数近似を計算していましたMIRRが、1 期間ずれた指数で正のキャッシュ フローを複利計算しており、結果が Excel の値からずれていました
バージョン 2.334.0
追加
- 単一の値フィールドで構成されるレポート バンド プレースホルダーは、生のデータ型をターゲット セルに書き込むようになりました。数値は数値のまま、日付は日付セルのまま (セルが標準の場合は既定の日付書式を受け取る)、ブール値はセル型を保持します。生成されたレポートで下流の SUM、並べ替え、グラフ参照が機能します
- ユーザー設定テーブル スタイルに、ピボット小計、小見出し、空白行、ページ フィールドのセクションを含む完全なセクション セット、
SetSectionExによるセクションごとのフォント名、サイズ、斜体、縞模様サイズ、4 辺の罫線、さらにpivot/tableフラグ、DefaultTableStyleName/DefaultPivotStyleNameブック プロパティ、スタイル、セクション、dxf 属性の読み込み側での完全なラウンドトリップが追加されました - パスワードなしで暗号化 XLSX ブックを開くと、クラシック エンジンと同じ再試行契約で
TXLSXWorkbook.OnPasswordが発生するようになりました。ファイルが暗号化されていることを事前に知らなくても、GUI パスワード プロンプトを表示できます - クラシック BIFF5 ブックのパスワード付き保存が XOR 難読化を適用するようになり、BIFF8 ブックは
EncryptionTypeで標準 RC4 を選択できます。既存の RC4 CryptoAPI 既定に加えて、クラシック暗号化マトリックスが完成しました - ページ画像、SVG、印刷、プレビュー出力でのワークシート テキスト レンダリングが、貪欲な改行による垂直配置と WrapText ワード ラップを尊重するようになりました。折り返されたセルを 1 つの中央揃え行に切り詰めることはありません
修正
- エラー セルが、未定義の空テキストの代わりに、#DIV/0! や #REF! などの Excel エラー リテラルをすべての描画パスで表示するようになりました
- ユーザー設定テーブル スタイルのセクションが、Excel がスタイルを認識できるようスキーマの
tableStyleElement形式で書き込まれます。セクションのフォント色が太字設定を破棄しなくなりました - レポート バンドのスナップショットは、バンドが初期容量を超えて拡張しても、バインドされたすべての列値を保持します
バージョン 2.333.0
追加
TXLSPDFSignature.CertificationPolicyは、変更不可、フォーム入力と署名を許可、またはフォーム入力、署名、注釈を許可する DocMDP 認証署名を作成できます。認証済みカタログは/Permsを通して署名を参照し、通常の認証済み出力は PDF 1.5 を使用します。互換性のない PDF/A-1 認証は、宛先ストリームを変更する前に拒否されます
バージョン 2.332.0
変更
- 自動タグ付き PDF が、行、セマンティックなヘッダー セルとデータ セル、ページごとの高密度 marked-content 識別子、正確な親ツリー マッピング、結合セルの行と列のスパン、ページ装飾、グラフ、画像、ヘッダー、フッターのアーティファクト分離を備えた完全なテーブル構造を出力するようになりました
修正
- 1 つの PDF エクスポーターの再利用時に、ドキュメント間でバイナリ オブジェクト スロットがクリアされるようになりました。オブジェクト番号が変更されたときに、以前のエクスポートの ICC プロファイル、画像、その他のストリームが新しく割り当てられたオブジェクトを置き換えることを防ぎます
バージョン 2.331.0
追加
- 統合 XLSX 描画ファサードが、画像、グラフ、テキスト ボックス、保存済みアンカー、グループの順序を混在させて公開し、前方、後方、前面、背面、変形対応グループ、および描画関係を保持する保存・再オープン・グループ解除の操作を提供します
- 名前付きスタイルは、ローカルの上書きを保持しつつ、自動または明示的なリンク書式パーツをサポートし、組み込みのライト、ミディアム、ダークの 60 種類すべてのテーブル スタイルが、共有の HTML、PDF、画像、プレビュー、ビューアの書式パスで解決されます
TXLSPDFBookmarkは、階層的な Unicode ブックマーク、兄弟・子の関係、色、太字または斜体のタイトル、展開または折りたたまれた子孫をサポートしますTXLSPageImageExporter.ExportAllAsTiffは、選択したページを 1 つの LZW 圧縮マルチページ TIFF としてストリームまたはファイルに書き込み、進捗、キャンセル、アトミックなファイル置換をサポートします- クラシック XLS のオープンは、グローバル メタデータの後に停止するか、検証済みの
BOUNDSHEETオフセットによって選択したワークシートに直接シークできます(暗号化ストリームの再配置を含む) TXLSFormatSnapshotは、元のワークブックから独立して完全なクラシック セル書式をキャプチャし、IXLSRange.ApplyFormatがそれをセル、行、または列の範囲に適用します- 互換性のある行優先の型指定 XLSX 一括書き込みは、パックされた RLE ストレージを使用し、公開されたパック済みセルとバイト統計に加え、安定したオブジェクト ハンドルのための透過的な 1 回限りのマテリアライズを提供します
変更
- スタイルのみの空の XLSX セルは、コピーオンライトのローカル編集、一括書式設定、名前付きスタイルの更新、コピー、並べ替え、書式パッチ、保存、読み込みパスにわたる自動圧縮、および測定可能な回避されたペイロード バイトとともに、参照カウントされたペイロードを共有します
- 動的配列はスカラー集計に直接ストリーミングされ、繰り返される完全一致ルックアップは型指定された増分範囲キャッシュを再利用し、不変のステートレス数式トークンはコンパイル間で共有されます
- 楕円弧は、PDF、SVG、ビットマップ出力で共有される平坦度駆動の適応型 3 次ベジェ分割を使用し、スケールまたは離心率が必要な場合にのみ精度を高めます
- XLSX パッケージ出力は、共有文字列、ハイパーリンク、リレーションシップ、パーツの順序を安定化するため、逆方向の構築でバイト単位で同一の決定論的パッケージが生成されます
- 統合された XLS、XLSX、CSV、TSV フォワード リーダーはメモリを有界に保ちます。BIFF8 共有文字列の継続は、投影、選択シート、暗号化、不正入力の保護を維持しながら、設定可能なしきい値を超えるとスピルします
修正
- C++Builder Win64 パッケージのリンクは、ワークブック比較およびインポート検査ユニットから重複する Delphi ジェネリック オブジェクト リスト vtable を生成しなくなりました
バージョン 2.330.0
追加
TXLSXWorksheet.Subtotalは、並べ替えられたデータ範囲に対して、グループ化された小計行、設定可能な総計行、数式、継承された表示書式、Excel 互換のアウトライン レベルを挿入しますGetCellVisibleFormatは、空のセルをマテリアライズせずに、ワークシート、行、列、範囲オーバーレイ、明示的なセル書式を解決しますCheckDataValidationは、1 つのセルを対象とするルールに対して候補値をテストし、有効な場合にのみアトミックにコミットできます
変更
- ルックアップ スキャンのメモは、コンパクトな完全一致バイナリ キーと、キャッシュ ヒットごとの単一のペイロード ルックアップを使用し、ルックアップ比較を変更せずに再計算の割り当てとハッシュ テーブル処理を削減します
- 固定幅 CSV エクスポートは、各フィールドを 1 回の操作でパディングし、パディング時間を設定された出力幅に対して線形に保ちます
修正
- 後方
ReplaceTextInスキャンは、要求された逆スキャン順序で置換コールバックを呼び出すようになりました - 値や数式のないスタイル付きセルが、SVG、画像、プレビューのレンダリングで隣接テキストのオーバーフローを妨げることはなくなりました
- クラシック XLS の数値出力は、BIFF 数値レコードを書き込む前に、非有限値や非正規値に加えて負のゼロも正規化します
バージョン 2.329.0
追加
A1ToR1C1は A1 スタイルの数式を R1C1 表記(相対オフセット、絶対$形式、範囲、およびR1C1ToA1による往復)に変換し、参照スタイル変換の両方向を完成させます
変更
- 再計算ルックアップ メモは、
VLOOKUP、XLOOKUP/XMATCH、MATCHで 5 セル未満のスキャン ベクトルをスキップします。これは、辞書の往復よりも生のスキャンの方が安価なためです
バージョン 2.328.0
追加
- SVG、画像、プレビュー出力の背後にある共有ページ レンダラーが XLSX セル スタイルを描画するようになりました: ソリッド塗りつぶし(アルファ付き)、セルごとのフォントと色、Excel の数値右揃えの既定に従う水平配置、より重い共有エッジが優先される Excel スタイルの境界線の結合、列に合わせてフォントを拡大縮小する縮小してフィット、および長いテキストの連続する空の隣接セルへのオーバーフロー
バージョン 2.327.0
追加
- CSV/TSV ローダーに、Excel のテキスト インポート ウィザードを反映した列ごとのインポート ディレクティブ(
cctText、cctNumber、cctDate、cctBoolean、cctSkip)が追加されました。これにより、個々の列をテキストに強制して先頭のゼロを保持したり、型に変換したり、インポートから除外したりできます - 固定幅テキスト インポート: フィールド幅を割り当てると、ローダーが区切り文字解析から文字位置スライスに切り替わり、セーバーは切り捨て付きのスペース埋め固定幅列を出力できます
バージョン 2.326.0
追加
- XLSX ワークシート検索に、スキャンを矩形セル範囲に限定するウィンドウ化された
FindTextInとReplaceTextInメソッドが追加されました。さらに、Excel の検索と置換ダイアログの列単位で検索モードを反映する列優先のスキャン順序フラグも追加されました。後方スキャンは、右下隅から開始するためにゼロ アンカーを受け入れるようになりました - 保存時は、Excel の 8192 文字制限を超える数式をガードし、Excel が修復モードで開くワークブックを書き出す代わりに、問題のあるセルを特定して迅速に失敗するようになりました
修正
- 非有限の数値セル値(NaN と正または負の無限大)が、保存された XLSX パーツに解析不能なトークンを漏洩させることはなくなりました。これらは
#NUM!エラー セルとしてシリアル化され、非正規の倍精度値は XLSX と BIFF8 の両方のライターでゼロにフラッシュされ、Excel が保存および表示できる内容と一致します
バージョン 2.325.0
追加
- ワークブック形式 API に、編集可能な XML マップとスキーマ バインディング、順序付けられた複数ワークブック ウィンドウ、複数領域およびペイン単位の選択、そして XLS および XLSX 向けの呼び出し元所有のロスレス数式トークン検査、再構築、参照置換、アトミックな書き戻しが含まれるようになりました
- ワークブック処理に、カスタム比較子と明示的な数式移動を伴う安定した水平または垂直ソート、BIFF2 から BIFF4 までのスタイルと数式の変換、XLS、XLSX、CSV、TSV 向けの単一の投影フォワード リーダー ファサード、型指定カスタム ビュー、そして編集可能な OLAP、Web テーブル、固定テキスト、パラメータ接続のサブモデルが含まれるようになりました
- 計算と検査に、構造化された関数欠落、外部参照、循環依存の診断、グローバルおよびワークブック ローカルの UDF レジストリ、Unicode 双方向の視覚順序、結合セルの AutoFit 戦略、型指定の Excel 4 マクロ シート保持とコマンド走査、そして
ISOMITTED、ARRAYTOTEXT、VALUETOTEXT、PDURATION、RRI関数が含まれるようになりました - コンパイル型レポートが、ワークブック全体のプレースホルダー、名前付きの行、列、クロス集計バンド、拡張可能な Excel テーブル バンド、単一のテーブルとカーソル抽象化、正確な複合キー関係インデックス、遅延データ コンテキスト、ストリーミング テーブル コンビネータ、制御された名前付きクエリ プロバイダー、レコード単位のシート バンド、オーバーフロー継続シート、不変の再帰的インクルードを対象とするようになりました
- レポート作成に、コンパイル済み条件、ルックアップ、正規表現、動的数式と書式、画像フィールド、グラフ系列の再バインド、ストリームまたはアトミック ファイル出力を備えた再利用可能なランナー、依存関係対応の範囲クローン、固定フッターとバランス型ページ割り付け計画、対象指定の診断、厳格な実行、テンプレート検査、サポート対象レガシー プレースホルダーの安全な移行が含まれるようになりました
- PDF 出力に、自動タグ付き構造ツリー、可視または不可視のホスト署名フィールド、レベル a および b での明示的な PDF/A-1、PDF/A-2、PDF/A-3 準拠プロファイル、アトミックな進捗とキャンセル、スタイル対応のキャッシュ済みフォント フォールバック、文脈対応の複合テキスト整形、ネイティブな多段グラデーション、段ごとのアルファ、セル塗りつぶしパターン、影、位置指定のコメント注釈が含まれるようになりました
- 共有レンダリングに、ネイティブな範囲、ページ、ワークブック、名前付きオブジェクトの SVG、増分 PNG および JPEG ページ、バックエンド非依存のレイアウト形状、HTML 内のインライン ベクター チャートと図形、共有 CSS を備えたステートフルな部分 HTML セッション、レンダリング済み画像効果、ベクター プリセット図形と WordArt 形状、高度な科学および財務チャートの詳細、決定的なデータ ラベル衝突とリーダー線レイアウトが含まれるようになりました
変更
- 監査済みの全 55 項目の機能 (F01 から F18、R01 から R19、V01 から V18) が、明示的な所有権、形式の安全性、キャンセル、出力境界を備えたサポート対象の実装を完了しました
- 大規模なレポート テンプレートは、オブジェクト ターゲットと式を 1 回だけコンパイルし、バインドされた軸フィールドのみを具体化し、データ カーソルを 1 回だけ消費し、関係キーと結合キーをハッシュ化し、繰り返しの非交差クローンでソース コレクション プレフィックスを固定し、生成済みワークブック オブジェクトの再走査を回避します
- レンダリング経路はページ割り付け、形状、オブジェクト配置、効果状態、ドキュメント リソース キャッシュを共有し、PDF、SVG、HTML、ビットマップ、メタファイル、プレビュー、印刷出力は形式固有のエンコーダーのみを保持します
修正
- XLSX セル書き込みイベントは、古いリッチ テキスト実行を保持せずに有効な置換値をシリアル化するようになり、BIFF 外部名トークンは完全な 4 バイト名インデックスを保持し、トップレベルの接続ソースはレガシー ソース フォールバックを維持しながらテキスト インポート ソースから独立して往復します
- レガシー BIFF のスタイルと数式の意味、ワークブック ウィンドウと選択の再マッピング、混合絶対数式参照、数式トークンの所有権、無効なトークンの書き戻しが、読み込み、編集、保存を通じて決定的でロスレスな動作を保持するようになりました
- レポート展開は、構造的な書き込みの前に、決定的なテーブル、フィルター、名前、重なり、部分オブジェクト、グリッド、クエリ対応の競合を拒否し、表現可能な場合に 0 行テーブルのカーディナリティを保持し、2^53 を超える整数結合キーを正確に維持し、キャンセルまたは失敗後に決定的な適用件数を報告します
- PDF およびベクター エクスポートは、フォールバック フォントの Unicode マッピング、書記素および整形クラスター、アーカイブ プロファイルの制限、グラデーションのアルファ、画像効果、チャートの装飾、高密度ラベル配置、出力のアトミック性を、繰り返しコンテンツによるリソース増大なしで保持するようになりました
バージョン 2.324.0
追加
- XLS および XLSX 向けのロスレス数式トークン検査と保護付き書き戻しは、
TXLSFormulaTokenStream、ParseFormulaTokens、GetFormulaTokens、FormulaTokensToText、SetFormulaTokensを通じて、RPN トークンの種類とクラス、生の BIFF トークンと追加ペイロード、独立した参照フラグ、クローン、参照置換、コンテキストの由来、正確で互換性のある BIFF 再利用を公開し、不正、非互換、配列所有、または未サポートのストリームはセル変更の前に拒否します TXLSCompiledTableReportBandによる拡張可能な Excel テーブル レポート バンドは、単一の境界付きカーソル スナップショットを使用して 1 つのデータ テンプレート行を展開し、ヘッダー、合計、テーブルと AutoFilter の範囲、フィルターと並べ替え状態、列メタデータ、計算および合計数式、スタイル、構造化参照、依存ワークシート オブジェクトを保持します。表現可能な 0 行の結果はテンプレートのデータ行を削除し、クエリ対応、競合、無効、オーバーフローするレイアウトは書き込み前に失敗しますSetFontFallbackChain、AddFontFallback、ClearFontFallbackChainsによるスタイル対応の PDF フォント フォールバック チェーンは、グリフ カバレッジでソース ファミリーとスタイル階層を解決し、読み込んだフェイスと選択をキャッシュし、補助スカラーと実行間の書記素クラスターを保持し、グリフ共有の Unicode シーケンスに個別の CID を割り当て、スタンドアロンの TTC フェイスを埋め込み、埋め込みグリフが利用できない場合は PDF/A 出力をアトミックに拒否します
バージョン 2.323.0
追加
TXLSCompiledReportTemplateによる再利用可能なワークブック レポート テンプレート: プレースホルダーは 1 回だけコンパイルされ、ワークブックを再走査せずに繰り返し適用できます。セル、リッチ テキスト、コメント、スレッド コメント、ハイパーリンク、テキスト ボックス、グラフのタイトルと系列名、ヘッダーとフッター、ワークシート名、定義名、ドキュメント プロパティにわたって、ソート済み値ルックアップと事前分割されたテキスト断片を使用しますIXLSReportTable、IXLSReportCursor、遅延IXLSReportTableProvider読み込み、ランダム アクセス メモリ テーブル、そして複合キーの子ハッシュを 1 回構築し、繰り返しのマスター/詳細ルックアップで行ペイロードをコピーする代わりに行番号を保持するTXLSReportRelationIndexによるレポート データ バインディング- 数式計算は、目標の投資額に到達するために必要な期間数を求める
PDURATIONと、それに相当する定期成長率を求めるRRIを評価するようになりました。Excel 互換の数値エラー境界と、必須の OOXML_xlfn.ストレージ プレフィックスを含みます - 数式計算は、
ISOMITTED、ARRAYTOTEXT、VALUETOTEXTを評価するようになりました。空白セルとは区別される専用の引数省略値、BIFF の引数欠落トークンの往復、1 次元および 2 次元配列、厳密な文字列エスケープ、ローカライズされた区切り記号、エラー変換規則、OOXML の将来関数プレフィックスを含みます TXLSXWorkbook.AnalyzeFormulaIssuesによる構造化数式の事前チェックは、セル座標と境界付きメンバー リストとともに、欠落関数、外部ワークブック参照、正確な循環依存コンポーネントを報告します。文字列リテラルとローカル構造化参照は誤一致から除外されますTXLSXWorksheet.CloneRangeToによる依存関係対応の範囲クローンは、選択セル、結合範囲、条件付き書式、データ検証、ハイパーリンク、コメント、画像、チャートを 1 回の操作でコピーし、適用された範囲とアンカーを再配置し、相対参照と絶対参照が混在する意味論で数式ペイロードを変換します。レポート バンドは依存オブジェクトに同じ経路を使用しますTXLSPDFExport.OnProgress、OnProgressEx、Cancelによる PDF エクスポートの進捗とキャンセル: 開始、ページ、終了の通知は無視できる程度のコールバック オーバーヘッドしか追加せず、キャンセルは行パスとページ オブジェクトの間でチェックされ、キャンセルされたストリームは部分的な PDF を受け取らず、エクスポーターは再利用可能なままですTXLSCompiledReportTemplate.Analyze、厳格な実行、WriteDiagnosticsによるコンパイル型レポートの診断は、変更前に、ターゲット型とワークシートおよびセル座標とともに、欠落値、空のプレースホルダー、閉じられていないプレースホルダーを特定するか、同じ結果を診断ワークシートに書き込みますTXLSCompiledReportRunnerによる再利用可能なレポート実行は、完了、キャンセル、失敗の状態を持つ開始、ターゲット、終了の進捗を提供し、最初の書き込み前またはコンパイル済みターゲット間でのキャンセルをサポートし、正確な適用件数を報告し、ワークブックを再走査することなくキャンセル後または例外後も再利用可能です- クラシック XLS および XLSX の結合セル AutoFit 戦略は、先頭または末尾の行または列が必要な拡張を吸収するか、結合スパン全体に均等に分配することを可能にし、レガシー オーバーロード動作、非表示状態、明示的な境界、決定的な繰り返し呼び出しを保持します
TXLSPDFExport.ExportCommentsAsAnnotationsによるオプションの PDF コメント注釈は、既存のコメント末尾ページを保持しながら、元のセル矩形に Unicode の作成者とコメント テキストを配置します。シートごとのコメント インデックスはおよそ O(C log C) 時間で構築され、O(log C) のセル ルックアップをサポートします- 階層型のユーザー定義関数レジストリにより、XLS および XLSX ワークブックは、ワークブック ローカルのオーバーライド、置換、削除、クリア、既存のワークブック イベント フォールバックを保持しながら、プロセス全体のハンドラーを共有できます。平均ルックアップは O(1) で、ローカルの一致はグローバル名をマスクし、ハンドラーはレジストリ ロックの外で実行されるため、並列再計算と自己削除が安全です
TXLSReportTableFactoryによる遅延レポート テーブル コンビネータは、完全な中間行ペイロードを具体化せずに、先頭行、列投影、行数、最小および複数の集計定義、スキーマ マップ型ユニオン、連続分割パーティション、重複を保持する内部または左ハッシュ結合を提供しますTXLSPageImageExporterによる増分 PNG および JPEG ページ エクスポートは、ページ選択、DPI、スケール、JPEG 品質、進捗、キャンセル、再利用可能なセッションを備えた XLS および XLSX の範囲、ワークシート、ワークブックをサポートします。セッションごとに 1 つのページ割り付けモデルが構築され、各ページの後にビットマップ メモリが解放されますTXLSXWorkbook.WorkbookViewsによる複数の XLSX ワークブック ウィンドウは、独立したアクティブ タブ、先頭の可視シート、可視性、最小化状態、形状、タブ表示、スクロール、不明な属性、拡張機能、正しく再マップされたワークシート ビュー バインディングを保持し、既存の単一ウィンドウ プロパティは引き続き最初のビューを対象としますTXLSCompiledReportBandによる名前付きの行、列、クロス集計レポート バンドは、1 パスの境界付きデータ スナップショットから定義名テンプレートを構造的に展開し、数式と依存ワークシート オブジェクトを保持し、ゼロ サイズの既定値を作成せずに明示的な行と列のメタデータをタイリングし、固定されたソース コレクション境界を再利用するため、同じシートの繰り返しクローンは生成済みペイロードを再走査しません- PDF エクスポートは、2 段および多段の軸方向または放射方向グラデーションをネイティブ PDF シェーディングとして書き込み、同一の関数、シェーディング、透過リソースを再利用し、各塗りつぶしをセルにクリップし、従来の帯状矩形近似なしで、単色または均一なグラデーション アルファを適用します
修正
- カスタムのポイント単位の用紙幅と高さのオーバーライドは、最終ページ オブジェクトだけでなくページ割り付けバンドの計算にも参加するようになり、ページ区切りとレンダリング寸法が同じ利用可能領域を使用します
バージョン 2.322.0
追加
- 数式計算は、実用的な引数範囲にわたる数値安定性のために項の漸化式を用いたべき級数で計算される、第 1 種ベッセル関数
BESSELJ(振動型) とBESSELI(変形型) を評価するようになりました
バージョン 2.321.0
修正
- XLSX RTF エクスポートは、Calibri をハードコードする代わりに実際のフォント テーブルを構築するようになりました。事前スキャンで個別のセル フォント名をすべて収集し、
\fonttblはそれぞれを独自の\fNインデックスでリストし、各セル’s テキストは実際のフォントを参照します。Times New Roman、Courier New、またはその他のフォントでスタイル設定されたワークブックは、Word または WordPad で開いたときに視覚的に Calibri へ再フローしなくなりました
バージョン 2.320.0
修正
- PDF エクスポートは、クラシック XLS エンジン経路でテキスト回転をレンダリングするようになりました。90 度または 270 度の向きのセルは、セル中心を軸に回転する PDF テキスト行列を通じてテキストを縦書きで描画し、既存の XLSX 経路の動作と一致します。以前は、
.xlsワークブックから生成された PDF では、縦向きのヘッダーと回転したラベルが横書きでレンダリングされていました
バージョン 2.319.0
追加
- 数式計算は、Excel 365 の LAMBDA 依存配列コンビネータである
MAP(要素単位の変換)、REDUCE(単一値への畳み込み)、SCAN(各中間ステップをスピルする畳み込み)、MAKEARRAY(行と列のインデックスからの構築)、BYROW(列をスピルする行単位の集計)、BYCOL(行をスピルする列単位の集計) を評価するようになりました。既存のLAMBDAおよびLETサポートと並んで、LAMBDA 関数型プログラミングのファミリーが完成します
バージョン 2.318.0
追加
- 数式計算は、債券および国債の財務関数を評価するようになりました。
COUPDAYBS、COUPDAYS、COUPDAYSNC、COUPNCD、COUPPCD、COUPNUM(クーポンの日数計算プリミティブ)、PRICE/YIELD(二分法による利回りソルバーを備えた標準債券価格計算)、PRICEDISC/YIELDDISC(割引証券)、PRICEMAT/YIELDMAT(満期基準)、DURATION/MDURATION(マコーレーと修正)、TBILLEQ/TBILLPRICE/TBILLYIELD(財務省短期証券)、DISC/INTRATE/RECEIVED(割引と利息)、ACCRINTM(満期時の未収利息)、DOLLARDE/DOLLARFR(小数ドル変換)、EFFECT/NOMINAL(実効利率と名目利率)、CUMIPMT/CUMPRINC(累計利息と元金)、FVSCHEDULE(変動金利の将来価値)、AMORDEGRC/AMORLINC(フランス式減価償却)。これらはすべて、5 つの標準日数計算基準を持つ自己完結型のネスト クーポン日付エンジンを共有します
バージョン 2.317.0
追加
- 暗号化ワークブックの読み込みは、SHA-256 ハッシュ アルゴリズムを宣言する Agile Encryption ファイル (一部のサードパーティ製ライターが生成) を受け入れるようになりました。パスワード キー導出、スピン ループ、パスワード検証子、データ整合性のキー/値の IV と HMAC はすべて宣言されたハッシュに従い、キー データとキー暗号化子の間で不一致のハッシュを宣言するファイルは引き続き拒否されます。保存は引き続き Excel’s 既定の SHA-512 バリアントを書き込みます
バージョン 2.316.0
追加
SortRangeは、両方のワークブック エンジンで数式を保持します。数式セルは行とともに移動し、その相対参照は Excel の並べ替えセマンティクスで再アンカーされます ($ の絶対部分はそのまま残り、グリッドの外にずれた参照はその場でクランプされます)。そのため、並べ替えられたテーブルは値に崩れることなく計算を続けます- シート背景画像:
SetBackgroundImageは、XLSX ワークシートのセルの背後に画像をタイル配置します (Excel と同様に表示のみ)。ワークシートのpicture要素、そのメディア関係、パッケージ コンテンツ タイプを通じて往復します
修正
- 一度も触れられていない空セルを参照する算術数式の再計算が、変換エラーで中断しなくなりました。空のオペランドは Excel と同様に 0 として寄与します
バージョン 2.315.0
追加
CopyToClipboardは、両方のワークブック エンジンで、テキストおよび HTML と並んでネイティブの Biff8 クリップボード形式を公開します。そのため、Excel または他の HotXLS ワークブックに貼り付けられた範囲は、プレーン テキストではなく、値、数式、数値書式、フォント、塗りつぶし、罫線、配置、結合セルを保持しますPasteFromClipboardは、Biff8 ペイロードが存在する場合にそれを優先します。Excel から貼り付けられたテキストは、ロケール依存の日付と数値の再解析なしで元の値を保持し、数式は相対参照を貼り付け先に再アンカーし、結合領域は貼り付け先で再構築されます。両エンジンは互いのブロックを完全な書式付きで貼り付けることもできます
変更
- Excel に貼り付けられた数式は、計算済みの値として到着します (Excel のサードパーティ Biff8 クリップボード解析の制限)。テキスト、書式付きの数値、塗りつぶし、罫線、結合など、他のすべてはロスレスで Excel に貼り付けられ、数式は Excel から HotXLS、および HotXLS から HotXLS の方向で完全に保持されます
バージョン 2.314.0
追加
- XLSX ワークシートのカメラ オブジェクト:
AddCameraは、セル範囲にバインドされたライブ スナップショット画像 (Excel のカメラ ツールのリンク画像) を配置します。範囲バインディングは文書化された描画拡張機能に書き込まれ、プレースホルダー画像はアンカーに合わせてサイズ調整されます。Excel で作成されたカメラ オブジェクトは、範囲バインディングを保持したまま再度開かれます
バージョン 2.313.0
追加
- XLSX パッケージのインプレース ワークシート パッチ: ストリーミング ライターの
BeginPatchは、既存のワークブックを開き、正確に 1 つのワークシートだけを書き換えます。他のすべてのパート (スタイル、図面、チャート、ピボット テーブル、カスタム パート) は、何も解凍または再作成せずに、圧縮バイトをそのままコピーされます。そのため、大規模なテンプレートのデータ シートは、フル再構築の数分の一の時間で更新されます - パッチ モードは新しいワークシートを追加することもできます。シートは、既存のパートと衝突しない番号付けで、パッケージ独自の strict または transitional の関係規則に従い、ワークブックのパート リスト、関係、コンテンツ タイプに登録されます
- パッチ適用済みパッケージは、古い計算チェーンを自動的に破棄します (Excel は読み込み時に再構築します)。また、新しいパッケージ パートを必要とする機能 (テーブル、チャート、画像、コメント、定義名) は、無効なパッケージを書き込む代わりに明確なエラーを報告します
バージョン 2.312.0
追加
- Strict Open XML 出力: XLSX ワークブックで
StrictOOXMLを設定すると、パッケージが ISO/IEC 29500 strict 準拠で保存されます。すべての名前空間宣言と関係タイプが、ワークシート、共有文字列、スタイル、テーマ、図面、チャート、コメント、ドキュメント プロパティ、保持パーツにわたって、transitional 語彙から strict のpurl.oclc.org語彙に切り替わります。一方、コンテンツ タイプ、パート名、VML 語彙は、両方の準拠クラスが共有するためそのままです - strict 準拠ワークブックの読み取りが完全になりました。strict 形式で書かれた関係タイプは、transitional の同等物と同じターゲットに解決され、strict 要素名前空間の受け入れを補完するため、Excel の "Strict Open XML Spreadsheet" モードで保存されたファイルは他のワークブックと同様に開かれます
- strict 出力を有効にして保存する場合、Microsoft 拡張機能としてのみ存在する機能 (VBA プロジェクト、フォーム コントロール、スレッド コメント、動的配列メタデータ) について、検証に合格しないパッケージを書き込む代わりに明確なエラーを報告します
修正
- カスタム ドキュメント プロパティが、綴りを誤った値型名前空間を宣言していたため、プロパティ パートが外部ツールでの検証に失敗する可能性がありました
バージョン 2.311.0
追加
- XLS ワークブックの読み取りは、認識されないワークシート レコードを保持します。型指定パーサーがモデル化しないレコードはすべてそのまま捕捉され、保存時に再再生されるため、ベンダー固有または新しい仕様のレコードを含むファイルは、失われることなく HotXLS を往復できます
バージョン 2.310.0
追加
- XLSX ワークシートのプリセット形状図形:
AddPresetShapeは、187 個の OOXMLST_ShapeTypeプリセット トークン (rightArrow、flowChartDecision、star5、…) のいずれかを、描画の<a:prstGeom>にそのまま書き込みます。PrstTokenプロパティを使用すると、既存の図形が形状を切り替えられます。トークンは保存と再オープンを通じて往復します
バージョン 2.309.0
追加
- ワークシートのテンプレート処理:
ApplyTemplateは、すべてのセルにわたって{{key}}プレースホルダーを置換します (値はネイティブ型を保持し、数式プレースホルダーは解析前に置換されます)。FillTemplateBandは、レコードごとに 1 回テンプレート ブロックをクローンし、クローンごとの数式行変換、結合範囲クローン、行レベルの条件分岐用の#skipフィールドを備えるため、手作りの任意のシートをデータ駆動型レポート生成器に変えます
バージョン 2.308.0
追加
- PDF エクスポートはファイルを添付できます。
AddAttachmentは、生のドキュメントを/EmbeddedFilesエントリ (ファイル仕様、オプションの MIME サブタイプを持つ埋め込みストリーム、カタログ名ツリー) として、エクスポートされた PDF に運びます。そのため、レポートはサポート データとともに 1 つの自己完結型ファイルで配信されます
変更
- 認識されない BIFF バージョン語を持つ XLS ワークブックの読み取りは、ストリーム全体を拒否しなくなりました。リーダーは BIFF8 レイアウトにフォールバックするため、通常とは異なるバージョン番号を出力するライターからのファイルも、そのレコードが解析できれば読み込まれます
バージョン 2.307.0
追加
- 一元管理されたスクラッチ ファイル管理: ライブラリが作成するすべての一時ファイルが登録され、掃引されるため、中断されたエクスポートや、作成と削除の間の例外によって、孤立した一時ファイルが残ることがなくなりました
VerifyEncryptedSaveは、書き込まれたばかりの暗号化コンテナーを完全な復号パイプラインで再度開き、パスワードでロックを解除できない場合は保存を失敗させます。破損したコンテナーは、ユーザーの次回オープン時ではなく、すぐに明らかになります- データセット エクスポートは、行分割が始まると
OnExportLimitイベントを発生させます。また、形式バージョンごとのワークブック グリッド制限は、機能ネゴシエーション用の定数 (BIFF8 では 65536×256、2007 以降の形式では 1048576×16384) として公開されます
バージョン 2.306.0
追加
- XLSX ワークシートにフォーム コントロールの作成機能が追加されました。
AddFormButton、AddFormCheckBox、AddFormRadioButton、AddFormComboBox、AddFormListBoxは、キャプション、リンク セル、チェック状態、マクロ バインディングを持つボタン / チェック ボックス / ラジオ / ドロップダウン / リスト コントロールを書き込みます。保存経路は VML 図形、コントロールごとのctrlPropsパーツ、それらの関係、コンテンツ タイプ エントリを出力し、コントロールを含むファイルは再オープン時にパーツをそのまま往復させます
バージョン 2.305.0
追加
- PDF エクスポートに、PDF/A-2b 識別ドキュメントを生成するオプトインの
UsePDFAモードが追加されました。sRGB IEC61966-2.1 プロファイルは GTS_PDFA1 出力インテントとして埋め込まれ、XMP メタデータはpdfaidパート/準拠識別情報を保持し、ヘッダーは PDF 1.7 を宣言します。アーカイブ可能な出力のためには、埋め込み TrueType フォント (UnicodeFontFileまたは自動選択されたインストール済みフォント) と組み合わせてください
バージョン 2.304.0
追加
- ライブのワークブック間評価:
RegisterExternalWorkbookは、ワークブック オブジェクトをブック名とペアにするため、[Book.xlsx]Sheet!A1のような数式がコンパイルされ ([Book]Sheet!Refプレフィックスは実際の外部参照として解析されるようになりました)、再計算のたびに登録済みオブジェクトの現在の状態を読み取ります。登録解除するとライブ リンクが破棄され、外部リンク キャッシュにフォールバックします
バージョン 2.303.0
追加
TXLSXWorkbookCompareによるワークブック比較: シートを名前でペアリングし、追加/削除されたシート、追加/削除されたセル、変更された値、変更された数式、追加/削除された結合範囲を報告します。ツール用の構造化 diff リストとして、またReportによる差分ごとの人間が読める 1 行として出力されます
バージョン 2.302.0
追加
- ストリーミング直接ライターに、プル モードの行供給が追加されました。
OnNeedRowは対象となる行ごとに 1 回発生し、供給側はその行をライターに直接書き込み、データ終了を宣言して停止します。データ パイプラインは、行リストを事前バッファリングせずにエクスポートを駆動できます
バージョン 2.301.0
追加
- ODS エクスポートがセル数式を書き込むようになりました。同一シート内の参照は標準の
of:=OpenFormula 表記に変換され(角括弧参照、セミコロンの引数区切り記号、文字列リテラルはそのまま)、シート修飾参照と構造化参照は、Excel 自身がスイート間の往復に使用するmsoxl:パススルーに乗ります。保存されたパッケージは元の Excel 数式テキストで再オープンされます
バージョン 2.300.0
追加
- 右から左のワークシートが、あらゆる場所でミラー表示されるようになりました。PDF エクスポートは印刷可能な幅全体で列ジオメトリを反転し(A 列が右側、セル内容はそのまま)、両方の HTML エクスポーターはテーブルに
dir="rtl"を出力してブラウザで列順を反転させます。シート フラグは既に XLSX と BIFF で往復します
バージョン 2.299.0
追加
- データセット エクスポート(
TDataToXLS)にタイトル バンドとフッター バンドが追加されました。Titleはヘッダーの上に 1 行の結合された太字スタイルの行を描画し(独自のTitleFontとオプションのTitleColor)、Footerは最後のデータ行または集計行の下に 1 行を追加します - ワークシート上の
ForEachFormattedCellは、行/列の順序ですべての値が入力されたセルを走査し、コールバックを通じてその表示テキスト(数値書式が適用済み)を配信します。インデックス作成とテキスト抽出に使用できます
バージョン 2.298.0
追加
- ApiTour サンプルは、起動するとすぐにライブ ショーケースが表示されるようになりました。KPI タイル、シート間
SUMIF/COUNTIF数式、データ バー、カラー スケール、アイコン セット、2 つのチャートを備えたメモリ内の売上ダッシュボードが、サンプル起動と同時に埋め込みワークブック ビューア内に描画されます。すべてのグリッド セルは編集可能なままで、即時再計算と更新された条件付き書式が適用され、ワンクリック操作でショーケースを PDF、HTML、CSV にエクスポートするか、ライブのビルド時間とエクスポート時間とともに Excel に引き渡します - C++Builder 版の ApiTour サンプルが、新しい Delphi のショーケース、埋め込みビューア、数式バー、エクスポート操作、アクティビティ ログを再現します
変更
- ApiTour サンプルは、モーダルな結果ダイアログをウィンドウ内のアクティビティ ログに置き換えます。クラシックな作成、変更、エクスポートのチュートリアルは従来どおりの動作を維持します
バージョン 2.297.0
追加
- PDF エクスポートに、圧縮オブジェクト ストリームとバイナリのクロスリファレンス ストリームを備えた PDF 1.5 ファイルを生成するオプトインの
UseXRefStreamモードが追加されました。小さな辞書オブジェクトは 1 つの Flate 圧縮コンテナ内を移動し、クラシックな xref テーブルとトレーラーはコンパクトなストリームに置き換えられます。ページ内容がバイト単位で同一のまま、エクスポートされたドキュメントが小さくなります
バージョン 2.296.0
追加
- ストリーミング直接ライターにオプトインの
AutoSplitRowsモードが追加されました。ワークシートの行数上限(1048576)を超える行は現在のシートを終了し、新しく作成された<name>_2、<name>_3… シートに続けて書き込まれるため、無制限のエクスポートでも不正な行インデックスが生成されません - ワークシート上の
FillTableCalculatedColumnは、テーブル列の計算列数式をすべてのデータ行に押し下げ、Excel 自身の作成方法と同じようにセルごとに行変換を行い、その後自然に再計算します
バージョン 2.295.0
変更
- XLSX HTML エクスポートがセル スタイルを一元管理するようになりました。同一のスタイルの組み合わせは、各セルに繰り返しインラインの
style属性を出力する代わりに、スタイル シート内のtd.cNクラスとして 1 回だけ出力され、均一なスタイルのテーブルで HTML 出力が小さくなります。条件付き書式の視覚オーバーレイは、セルごとの特性を保つためにインラインのままです
バージョン 2.294.0
修正
- 現在行形式の構造化参照(
Table[@Col])が、再計算中に数式セル自身の行に対して評価されるようになりました。シリアル評価と並列評価の両方のパスで適用されます。以前は、このような数式はすべて列の 1 行目(通常はヘッダー テキスト)を読み取り、その行にテキストが含まれると型キャスト エラーで再計算が完全に失敗していました
バージョン 2.293.0
変更
- オプトインの
RecalcAggregateCacheメモが、無条件の単一範囲集計もカバーするようになりました。1 つのプレーンな単一シート範囲に対するSUM、AVERAGE、MIN、MAX、COUNT、COUNTAが対象です。同じブロックに対する繰り返しの合計は、条件付きファミリーと同じ参照安定性ゲートの下で最初のパスの結果を再利用します
バージョン 2.292.0
追加
- ワークブックからコードへのジェネレーター(
TXLSCodeGen)。ワークブックを走査し、それを再構築するソース ステートメント(シート作成、セル値、数式、数値書式、列幅、結合範囲)を Delphi または C++Builder 方言で出力します。手作業で作成されたファイルが、すぐに使える API サンプルになります - 列ルールのインポート検証(
TXLSImportCheck)。列ごとの必須、テキスト長、正規表現パターン、一意性のルールに加えて、ワークシートのデータ行に対して実行される呼び出し元コールバックを提供します。違反は赤いフォントと理由コメントで注釈付けでき、KeepOnlyViolationsは「修正して返却してください」用のワークブックとして、シートをヘッダーと失敗した行だけに圧縮します
バージョン 2.291.0
追加
- CSV インポートがオプション レコードを受け付けるようになりました。
OpenCSVのオーバーロードは、区切り記号と型検出スイッチに加えて、先頭行のスキップ(SkipRows。グリッド上部のタイトル バナー用)と空白のトリミング(AutoTrim)をサポートします - ワークシート上の
FillMergedCellValuesは、各結合範囲のアンカー値をカバーされるすべてのメンバー セルにコピーするため、結合ラベル付きのレポート形式シートを 1 つのフラットなグリッドとして読み取れます AddListValidationに文字列配列のオーバーロードが追加され、1 回の呼び出しで項目を 1 つのドロップダウン リストに結合します- データセット エクスポート(
TDataToXLS)にゼブラ ストライピング(AlternatingColor。奇数番号の詳細行に描画)と集計行(SummaryRow)が追加されました。集計行は、エクスポートされた数値フィールドまたは呼び出し元が指定したフィールド リストに対して実際のSUM数式を追加し、太字のキャプション セルを備えます
修正
- データセット エクスポートが、設定された
DetailColor背景を詳細セルに適用するようになりました。以前は、このプロパティは受け入れられるものの描画されませんでした
バージョン 2.290.0
変更
- オプトインの
RecalcLookupCacheメモが、VLOOKUPの完全一致および近似一致のスキャン、HLOOKUP、MATCHの一致タイプ 0 と 1 もカバーするようになりました。同じ範囲に対してこれらのクラシックなルックアップを繰り返すワークブックは、XLOOKUP/XMATCHと同じ参照安定性セーフティ ゲートの下で、再計算パス中に最初のスキャンの結果を再利用します
バージョン 2.289.0
追加
- ストリーミング直接ライターにオプトインの
TrackColumnWidthsモードが追加されました。行のストリーミング中にワークシートがメモリ内にステージングされるため、保存されたファイルには<dimension>の使用範囲ヒントと、見た中で最も長い表示テキスト(文字数にパディングを加え、最大 255)に合わせてサイズ調整された列ごとの幅が含まれます。データがストリーミング中にしかわからないエクスポートの自動調整を近似します。明示的に設定された列幅は常に優先されます
バージョン 2.288.0
追加
- XLSX パッケージのオープンが非正規の名前空間プレフィックスを許容するようになりました。要素を異なるプレフィックス(または ISO 29500 strict)の名前空間にバインドするワークシート、チャート、図面、ドキュメント プロパティのパーツは、解析中に標準の語彙に正規化されるため、サードパーティ製ジェネレーターや strict モードのセーバーからのファイルも正しく読み込まれます
- セルが
r位置属性を省略しているワークシートでは、各セルがスキャン順で先行セルの後に配置され、r属性のない行は行シーケンスを継続します。これは複数のストリーミング ライターが使用する規則です
バージョン 2.287.0
追加
Openが Excel 2.0/3.0/4.0 ワークブック(BIFF2-4)を読み取れるようになりました。OLE ラッパーのない生の BIFF ストリームは、数値、テキスト、ブール値、エラー、数式のキャッシュ結果とともに読み込まれます。数式の文字列結果は BIFF2-4 String レコードを通じて到着し、ストリームのコード ページ レコードがテキストのデコードを駆動します
変更
- BIFF2-4 ドキュメントは値のみ読み取られます。その世代の数値書式とスタイルはモデル化されていないため、日付は生のシリアル番号として、数式は最後に計算された値として現れます
バージョン 2.286.0
追加
- 比較セクション付きの数値書式(
[>=100]、[<0]、…)は、表示テキストが描画されるすべての場所で値によってセクションを選択し、Excel の条件付き書式の動作と一致します - 数値書式のテキスト セクション(
"ID:"@)は、書式を無視する代わりに文字列値にテンプレートを適用します SetCellFromHtmlが軽量な HTML フラグメントからセルを埋めます。<b>/<strong>、<i>/<em>、<u>、<br>、<font color=...>はリッチ ランになります。その他のタグはテキストを保持したまま破棄されますTaggedTextマークアップは、<br>の改行、<strong>/<em>のエイリアス、<font color=...>の属性形式、"/ エンティティを受け付けます- 列のキープ トゥギャザー ブロック(
KeepColumnsTogether)が列グループ内の垂直ページ区切りを防ぎます。ページ割り付け、プレビュー、PDF 出力で行レベルの機能と同じ動作になります - クラシックな Spinner および ScrollBar フォーム コントロールを、Min/Max/Inc/Page 設定とリンク セル付きで XLS ファイルに書き込めるようになりました。OBJ FtSbs サブレコードを通じて出力されます
WriteAutoValueが、ISO 形式に加えてm/d/yyyyとd.m.yyyyの日付をオプションの時刻(AM/PM を含む)付きで認識し、あり得ないカレンダー日付を拒否しますConvertFormulasToValuesに、他のワークブックを参照する数式のみを固定するOnlyExternalモードが追加され、クラシック XLS ファサードにシート全体のメソッドが追加されました- 行の自動調整は、結合セルを結合後の列幅に対して測定し、必要な高さを結合行全体に分配します
バージョン 2.285.0
追加
- PDF エクスポートがワークシートのチャートをネイティブ ベクター グラフィックスとして描画するようになりました。クラスター、積み上げ、100% 積み上げの縦棒と横棒、マーカー付き折れ線、面、パーセンテージ ラベル付きの円グラフとドーナツ グラフ、散布図、レーダー チャートをサポートします。それぞれにタイトル付きのフレーム、自動スケールの軸、目盛りラベル、グリッド線、凡例、オプションのポイントごとのデータ ラベル、系列ごとの単色塗りつぶし、Excel の既定のアクセント パレットを備えます。3D チャート タイプは 2D 投影として描画されます
- 最後のセルより外側にアンカーされたチャートが印刷面を拡張するようになったため、データ行の下に配置されたチャートも、切り取られることなく PDF とプレビュー出力に表示されます
バージョン 2.284.0
追加
- PDF のヘッダーとフッターが Excel のスタイル コードを描画するようになりました。
&B太字、&I斜体、&U/&E一重/二重下線、&S取り消し線、&X/&Y上付き/下付き、&nnフォント サイズ、&K色、&"Font,Style"ウェイト キーワードに対応します - PDF エクスポートが、塗りつぶし、フォント、罫線、データ バー、アイコンを輝度グレーに変換することで、ワークシートの白黒印刷モードに従います
- 印刷する行と列の見出し(行番号と列文字)が、シートが要求したときにグリッドの横に描画されます
- 印刷の中央揃え。
CenterHorizontally/CenterVerticallyがマージンの間で印刷グリッドを移動します。ヘッダーとフッターのバンドは元の位置に留まります - セル コメントは、赤いコーナー インジケーター(表示どおりモード)として印刷されるか、新しい
PrintCommentsAtEndワークシート プロパティを通じてシートの後にコメント一覧ページとして印刷されます。このプロパティは Excel のcellComments="atEnd"ページ設定値を往復します - 内部ハイパーリンク(
Sheet!Cellターゲット)が、クリック可能なドキュメント内 GoTo リンクになり、ターゲット シートのページにジャンプします - エクスポーターがビューアの
PageLayout設定を公開し、ドキュメント情報ディクショナリと並んで XMP メタデータ パケットを書き込みます - TrueType コレクション(
.ttc)フォントを埋め込み Unicode フォントとして使用できます。埋め込みフェイスの太字と斜体は、通常フェイスしか存在しない場合に合成されます
変更
- 列幅が、固定の文字ごとの推定ではなく Excel の最大桁幅の数式(Calibri 11 メトリクス)で換算されるため、PDF とプレビューの幅が Excel の保存済みピクセル幅と一致します
- 折り返し行が各行自身の最初の文字から再測定されるようになり、以前の改行で下に移動した単語の幅を無視していた折り返し行が修正されました
バージョン 2.283.0
追加
- PDF エクスポートが
WrapTextセルを実際の単語分割で折り返し、行ごとの水平配置、垂直ブロック配置、両端揃えまたは分散揃えのスペーシングを適用します - PDF エクスポートが PDF テキスト行列を通じて回転したセル テキストを描画します(垂直に積み重ねたテキストを含む)。値が収まるまでフォント サイズを段階的に小さくして
ShrinkToFitに従います - セルからあふれる PDF テキストが、空の隣接セルにわたって延長され、最初に値のあるセルでクリップされるようになりました。Excel の印刷動作と一致します。一般的な配置は Excel と同様に数値を右揃えにします
- PDF エクスポートが、ランごとのフォント スタイル、サイズ、色、下線、取り消し線、上付き、下付きでリッチ テキスト ランを描画します。折り返し行はランごとのスタイルを保持します
- PDF エクスポートが斜めのセル罫線と真の二重線の罫線を描画します
- 結合セルにまたがるテキストが、結合された長方形全体にわたって描画、配置、折り返しされ、ハイパーリンクもアンカーされるようになりました。また、覆われた結合メンバーは自身の背景を描画しなくなりました
変更
- PDF のテキスト幅が、固定の平均文字幅ではなく校正済みの文字ごとの前進テーブルから取得されるため、配置、折り返し、縮小が印刷ページと一致します
- セルのインデントが Excel と同様にテキストを移動し、アイコン セットのセルはアイコンの隣に値をインデントして表示します
バージョン 2.282.0
追加
- PDF エクスポートが PNG の透明度を保持するようになりました。アルファ チャネル付きの画像は、透明度を失う代わりにソフト マスク プレーンを出力します。tRNS チャンク付きのパレット画像も含まれます
変更
- PDF ページ コンテンツ ストリームが Flate 圧縮されるようになり、PDF 1.4 を超えるビューア要件なしでエクスポートされたドキュメントが大幅に小さくなります
- PDF エクスポートが連続するテキスト操作を共有テキスト ブロックにまとめ、冗長なフォント、サイズ、色の選択をスキップすることで、出力サイズと生成時間の両方を削減します
- 同じ単色塗りつぶしの隣接セルが 1 つの結合された長方形として描画され、同一直線上で同じスタイルの罫線セグメントはセルごとのエッジではなく 1 回のストロークで描画されます
- PNG 画像がデコードと再エンコードなしで PDF に埋め込まれ、元の圧縮ストリームと正確なピクセルが保持されます
- バイト内容が同一の画像は、何個の画像オブジェクトが参照していても 1 回だけ埋め込まれ、共有されます
修正
- テキストが埋め込み Unicode フォント経路で描画されるリンク セルに対しても、ハイパーリンク注釈が作成されるようになりました
- PDF コンテンツのバイトがアクティブなシステム コード ページに依存しなくなったため、西ヨーロッパ系のテキストはどの Windows ロケールでも同じように描画されます
バージョン 2.281.0
修正
- クリップボード リーダーがデータ ハンドルを 32 ビットに切り詰めなくなりました。これにより、64 ビット アプリケーションで
XLSGetClipboardBiff8と XML スプレッドシートの貼り付け経路が空を返していました - クリップボード操作は、別のアプリケーションがクリップボードを保持している場合、最初の競合で失敗する代わりに、最大 0.5 秒間クリップボードのオープンを再試行します
変更
- 条件付き書式ルールのルックアップ(
FindAt/IndexOfCell経路)は、クエリされるセルごとではなく各ルール’s セル範囲を 1 回だけ解析し、データ検証キャッシュと一致します - PDF エクスポートがシートごとのハイパーリンク インデックスを構築し、セルごとの線形スキャンを二分探索に置き換えます
バージョン 2.280.0
追加
- ユーザー定義関数を名前で登録できるようになりました。
RegisterUserFunctionは、その名前を呼び出す数式をハンドラーに直接ディスパッチします(単一のOnUserFunction内のグローバルな if チェーンは不要)。未登録の名前は引き続きワークブック イベントが処理します ScanUnknownFunctionsが、計算エンジンが評価できない数式関数についてワークブックを監査し、各セルと名前を報告します — 外部ファイルで再計算を有効にする前に最適ですRecoveryMode。構造的に破損したワークシート パーツは、オープン全体を中止する代わりに警告診断付きでスキップされます- ネイティブ BIFF8 クリップボード形式。
XLSSetClipboardBiff8/XLSGetClipboardBiff8が、Excel 自身が使用するBiff8ストリームを公開および読み取りするため、クリップボードの交換で値、数式、書式が保持されます
変更
- データ検証の監査が、セルごとではなく各ルール’s セル範囲を 1 回だけ解析するため、大きなシートでの
CheckDataValidationsが高速化されます
バージョン 2.279.0
追加
- PDF エクスポートがワークシート画像を埋め込むようになりました。PNG/GIF/BMP ビットマップは Flate 圧縮の RGB XObject に変換され、JPEG ファイルは DCTDecode 経由でそのまま(再圧縮なしで)通過します。複数のページにある同一の画像は 1 つのオブジェクトを共有し、明示的なサイズなしで追加された画像は 96 DPI でのピクセル寸法を既定とします
- キープ トゥギャザー ブロック。
KeepRowsTogetherは、1 ページに収まる行ブロック内で印刷/PDF のページ割り付けが分割されるのを防ぎ、XlsxAutoPageBreaksは自然な(キープ対応の)ページ境界を明示的な行区切りに変換して、Excel がエクスポートと同じようにページ割り付けするようにします - 設定可能な XLSX 圧縮。
ZipCompressionLevelが保存時の deflate レベルを選択します(既定 -1 から 9 まで) - 再現可能な保存。
DeterministicOutputが zip エントリのタイムスタンプを固定するため、同じワークブックを 2 回保存するとバイト単位で同一のファイルが生成されます
修正
- 循環 FAT チェーンを持つ破損した複合ファイルで、クラシック .xls ローダーがハングしなくなりました。ディレクトリとストリームのチェーン走査に循環ガードが付きます
バージョン 2.278.0
追加
- PDF エクスポートがワークシートのハイパーリンクに対してクリック可能なリンク注釈を出力するようになりました。URL を持つセルには、セル領域上に URI アクション付きの不可視の /Link 矩形が配置されます
- PDF エクスポートがドキュメント アウトライン(ブックマーク)を書き込みます。エクスポートされた各ワークシートが、最初に描画されたページを指すブックマークになります
バージョン 2.277.0
追加
- データ検証に監査 API が追加されました。
CheckDataValidationsは、入力済みセルをシートのルール(リストのメンバーシップ、整数/小数/日付/時刻の範囲、文字列長、計算エンジンによるカスタム数式)と照合してスキャンし、違反したすべてのセルをルールのインデックスと理由とともに報告します - 型指定されたカスタム文書プロパティが
docProps/custom.xmlを通じて往復するようになりました。Workbook.CustomProperties上のテキスト、数値、日付、ブール値の各エントリが対象です - カスタム XML データ部分が、ブックレベルのリレーションシップとコンテンツ タイプとともに
Workbook.CustomXmlPartsを通じて往復するようになりました - 画像が SVG コンパニオンを受け入れるようになりました。
AddImagePairは、ラスター フォールバックの隣に SVG バイトを保存し、svgBlip拡張機能と Excel 2016 以降が消費する追加のメディア部分を書き込みます - チャートは、
DataLabelsRangeを通じてセル範囲からデータ ラベル テキストを取得できるようになりました(“Value From Cells”)。チャート拡張機能として出力され、開くときに復元されます - カスタム テーブル スタイル:
Workbook.CustomTableStylesは、色付き/太字のセクション(ヘッダー行、合計行、縞模様、端の列)を持つ名前付きスタイルを定義し、独自の差分スタイルとともにtableStylesに書き込まれるため、テーブルは名前で参照できます
バージョン 2.276.0
追加
- セルのグラデーション塗りつぶし: 角度による線形スイープと、停止点ごとの色を持つパス グラデーションが
gradientFillを通じて往復し、HTML エクスポートでは CSS グラデーションとして、PDF エクスポートとワークブック ビューアでは帯補間された塗りつぶしとしてレンダリングされ、TXLSXFills.AddLinearGradientの便利メソッドを通じて提供されます - 経過時間の数値書式(
[h]:mm:ss、[mm]:ss、[s])は、すべての表示パス(FormattedText、HTML、PDF、条件付き書式の値)で、時計のように巻き戻る代わりに累計として表示されるようになりました - 分数の数値書式(
# ?/?、# ??/??、0/8などの固定分母)は、整数部ゼロの非表示と配置用スペースを含め、Excel の最良の有理近似で表示されるようになりました [Red]スタイルの色括弧がTXLSXCell.GetFormattedTextColorを通じて公開され、PDF エクスポートでセルのテキストを再描画するようになりましたTXLSXWorkbook.ValidateNumberFormatは、Excel のユーザー定義書式ダイアログと同じ方法でカスタム書式文字列を検証します(セクション数、引用符のバランス、括弧の内容(色、条件、経過時間単位、ロケール ディレクティブ))- 固定ペインの状態が
GetFrozenPanesを通じて読み戻せるようになり、右下ペインのスクロール位置はSetPaneScroll/GetPaneScrollを通じて往復します(topLeftCellとして書き込まれます) - 行/列見出しの表示切り替え
DisplayRowColHeadersがshowRowColHeadersを通じて往復するようになりました - チャートは、ハードコードする代わりに
DispBlanksAs(gap / span / zero)とPlotVisibleOnlyを公開し、開くときに保存された ChartML から両方を復元します - コメントは、編集可能なボックス形状(
WidthPt/HeightPt、VML ポイント)と、テキスト駆動のAutoSizeFromTextヒューリスティックを備えています
バージョン 2.275.0
追加
- 検索と置換が Excel のワイルドカードを理解するようになりました。
*(任意の文字列)、?(任意の 1 文字)、およびリテラルの*、?、~のエスケープとしての~です。これは Excel 自体が検索と置換、COUNTIF系の条件、オートフィルターに適用するのと同じセマンティクスです - XLSX ワークシートの
FindTextにオプション付きオーバーロードが追加されました。大文字と小文字を区別、セル全体の内容と一致、値だけでなく数式テキストの検索、ワイルドカード モード、逆方向スキャンを備え、開始アンカーにより繰り返し呼び出しで一致項目を順にたどれます ReplaceTextにも同じオプション一式に加え、各置換をセル単位で受け入れる、書き換える、スキップする、中止できる省略可能な一致ごとのコールバックが追加されました- クラシックな XLS ワークシートの
FindText/ReplaceTextにワイルドカードとセル全体一致のオーバーロードが追加され、両方のファサードが Excel の検索セマンティクスを共有します GetRangeStatisticsは矩形範囲をスキャンし、最小値、最大値、合計、平均、数値の個数、入力済みセル数を 1 回のパスで報告しますWriteAutoValueは、Excel 自身のセル入力が解釈するのと同じ方法でテキストを書き込みます。TRUE/FALSEはブール値に、#N/Aなどのエラー リテラルはエラー値に、明確な ISO 日付は日付に、プレーンなインバリアント形式の数値は数値になり、それ以外(先頭のゼロや桁区切り記号を含む)はテキストのままです(両方のファサード)GetHtmlFromCellは、エスケープされたマークアップを含むスタイル付き HTML フラグメントとして 1 つのセルをレンダリングし、シート全体の HTML エクスポートを補完しますSortRangeは大文字と小文字を区別しないフラグを受け入れ、テキスト キーが大文字小文字に関係なくアルファベット順に並ぶようにします(XLSX ファサード)
バージョン 2.274.0
追加
- Excel テーブルは、新しい
HasHeaderRowおよびCommentテーブル プロパティを通じて、ヘッダーなしテーブルとテーブルごとのコメントを往復するようになりました。headerRowCount="0"とcomment属性として書き込まれます - チャートは、新しい
ChartStyleプロパティ(1–48 または拡張された 101–148 の範囲)を通じて Excel ギャラリーのスタイルを選択できるようになり、チャート部分のスタイル要素を通じて往復します - 組み合わせチャートは、各プロット グループの新しい
ZOrderプロパティを通じてプロット エリアのレイヤリングを制御できるようになり、縦棒系列を折れ線系列の後ろまたは前にレンダリングできます - ワークシートと単一セルは、
ConvertFormulasToValuesとConvertFormulaToValueを通じて数式を計算値に固定できるようになりました。キャッシュされた結果を保持しつつ、数式、共有数式リンク、配列メタデータを破棄します - 定義名は、新しい
Comment名前プロパティを通じて省略可能なコメントを保持できるようになり、クラシックな名前コメント レコードと XLSX 定義名のcomment属性を通じて往復します - PDF エクスポートは、新しい
PaperWidthおよびPaperHeightプロパティを通じてポイント単位のカスタム用紙寸法を受け入れ、レンダリングされるすべてのワークシートで用紙サイズ列挙を上書きします - PDF エクスポートは、新しい
HidePrintObjectsセットを通じてヘッダーまたはフッターのバンドを抑制できます - PDF のヘッダーおよびフッターのフィールド コード
&F(ファイル名)と&Z(パス)は、ファイルベースのエクスポートで取得されたソース ワークブックのパスを使用して展開されるようになりました - データ バーは、新しい
NegativeBorderColorおよびNegativeBarBorderColorSameAsPositive設定を通じて独立した負の値の境界線の色をサポートし、Excel 2010 以降のデータ バー拡張機能で出力されます - レガシー レコード スロットを持たない組み込みセル スタイル(Hyperlink、Title、Headings、Accents、Good/Bad/Neutral、…)は、保存時に正規の表示名を解決するようになり、Excel のスタイル ギャラリーが往復後も維持されます
- Agile 暗号化ワークブックは、実際の
dataIntegrityブロックを保持するようになりました。ライターは完全な暗号化パッケージに対して仕様準拠の HMAC を出力し、開くときにそれを検証して、誤ったパスワードや改ざんされたパッケージを検出します。このブロックを持たないライターのファイルは、従来どおり変更されずに開かれます - クラシック ワークブックは、
SetModifyPasswordを通じて Excel の“変更するためのパスワード”書き込み予約をサポートします(読み取り専用を推奨するフラグ、レガシー パスワード ハッシュ、予約ユーザー名を WRITEPROT + FILESHARING レコードのペアとして出力)。IsWriteReservedが状態を報告し、空のパスワードで解除されます - オプトインの
RecalcLookupCacheメモが、ルックアップの多い再計算を高速化します。同じ範囲に対する繰り返しのXLOOKUP/XMATCHスキャンが、最初のスキャンの結果を再利用します。このメモは、依存関係グラフが確実に参照安定であることが証明できる場合(OFFSET/INDIRECTや解決不能な参照がない、循環チェーンがない、What-If データ テーブルがない)にのみ有効になり、それ以外では静かに無効のままなので、結果は常に同一です - 付随する
RecalcAggregateCacheメモが、条件付き集計の再計算を高速化します。同じ範囲と条件に対する繰り返しのSUMIF/COUNTIF/AVERAGEIFスキャンが、同じ参照安定性のゲートのもとで最初の結果を再利用し、同一の結果を返します LAMBDA式は完全なクロージャで評価されます。RefersTo がLAMBDAである定義名は引数付きで名前によって呼び出せ(=MyFunc(5))、クロージャはLET内でレキシカルにバインドされ(=LET(f, LAMBDA(x, x*2), f(21)))、パラメータは同じ綴りの列参照をシャドウイングし、数式テキストは逐語的に往復します。セルの結果として保存された素のLAMBDAは、値なしでスキップする従来の動作を維持しますLETは完全なセマンティクスを備えるようになりました。すべてのバインディングが、後のバインディングと本体式(ネストされたLETの構成を含む)から参照できます。従来の部分的な実装を置き換えます- 数式テキストは、従来のセミコロンに加えて引数区切り記号としてコンマを受け入れるようになり、貼り付けおよびインポートされた数式の Excel の標準構文と一致します
- 数式内の構造化参照が評価されるようになりました。
Table[Column]、Table[[Column]]、列スパン、および[#Data]/[#All]/[#Headers]/[#Totals]項目形式が、解析時にワークブックの Excel テーブルに対して解決されるため、=SUM(Table1[Amount])が計算されつつ、元の数式テキストは逐語的に往復します。解決不能な参照は、従来の値なしでスキップする動作を維持し、現在行形式([@Column])は引き続きサポートされません
変更
- ワークブックが完全精度を無効にすると、再計算結果は各セルの数値書式で表示される小数点以下の桁数に丸めて保存されるようになりました。HotXLS が計算した値に対する Excel の“表示桁数で計算する”動作と一致します
- XLSX に書き込まれる条件付き書式ルールは、シート内で一意の優先順位を受け取るようになり、Excel が修復を促していた重複優先順位のファイルがなくなりました
- 新しい
IsPivotプロパティを通じてピボットテーブル スコープとしてフラグ付けされた条件付き書式は、Excel が破棄または誤配置していたワークシートのメイン条件付き書式ブロックではなく、拡張機能バケットにルーティングされるようになりました
バージョン 2.273.0
変更
TXLSXWorkbook.PreserveRawPartsは、変更されていないワークシート画像、ヘッダーおよびフッター画像、チャート部分を元の圧縮ペイロードのままコピーするようになりました。一方、画像データの編集とチャート モデルの編集はシリアライズのパスを取ります- 成功したファイルの SaveAs は、コミットされたパッケージを次の生コピーのベースラインとして受け入れるようになり、後続の保存で、以前のソース パッケージを開き直すことなく、新しくシリアライズされた不透明データ、VBA、接続、外部リンク、画像、チャート、テーマ、ピボット ペイロードを再利用できるようになりました
修正
- 非標準の部分位置を持つパッケージからの不明なワークシートおよび図形のリレーションシップは、生成された正規の所有者に対して再ベースされるようになりました。唯一のアンカーが保持された未サポート図形である図形専用パッケージも含まれます
- 失敗した圧縮メンバーのコピーは、安全なシリアライズへのフォールバックの前に、部分的なローカル ヘッダー、ペイロード バイト、親フォルダー エントリ、中央ディレクトリ数をロールバックするようになり、出力アーカイブに到達不能なデータが蓄積するのを防ぎます
バージョン 2.272.0
変更
- XLSX SaveAs は、保存操作全体に対して 1 つの検証済みソース アーカイブを開き、変更されていないリレーションシップ到達可能なすべての不透明部分を元の圧縮ペイロードのままコピーするようになりました。中央ディレクトリの繰り返しスキャンと解凍・再圧縮を回避しつつ、変更されたペイロードは引き続きシリアライズのパスを取ります
修正
- ワークブックが非標準の部分名を使用するパッケージからの不明なワークブック リレーションシップは、生成されたワークブックの場所に対して再ベースされるようになり、SaveAs 後に保存されたターゲット部分が到達不能になるのを防ぎます
- 射影された直接読み取りは、選択された行または列セットの外側にある共有数式マスター定義を保持するようになり、選択されたフォロー セルが、未選択の値やリッチ テキストを再構築することなく、正しく変換された数式を受け取れます
- チャートの編集で、データ ラベル数値書式の作成が同じローカル名の要素を使用するという理由だけで、モデル化されていない軸の数値書式が削除されなくなりました
バージョン 2.271.0
修正
- クラシックな HTML エクスポーターは、UTF-8 で書き込み、
<meta charset>と HTML5 doctype でそれを宣言するようになりました。以前はストリームがシステムの ANSI コード ページで書き込まれ、非 ASCII のセル値が破損し、文字セット宣言がないためページはブラウザ任せになっていました
バージョン 2.270.0
追加
- チャートのデータ ラベルは、新しい
LabelNumFmtおよびLabelPos系列プロパティ(対応する*Setフラグ付き)を通じて、明示的な数値書式と配置を保持できるようになりました。標準および組み合わせチャートの両方のライターで<c:numFmt>と<c:dLblPos>として出力され、パーセンテージや通貨のラベル テキスト、および外側の端や中央などのラベル位置が可能になります。どちらか一方の設定だけでもラベル ブロックが有効になり、未設定の系列はバイト単位で同一のままです
バージョン 2.269.0
追加
- 折れ線および散布図チャートの系列は、新しい
MarkerSymbol、MarkerSize、MarkerSetプロパティを通じて明示的なマーカー記号とサイズを保持できるようになりました。標準および組み合わせチャートの両方のライターで系列の<c:marker>ブロックとして出力され、未設定の系列は自動マーカーを維持します - 表示単位を持つ数値軸は、新しい
ShowDispUnitsLabel軸プロパティを通じて単位ラベル(“Thousands”、“Millions”、…)を表示できるようになりました
バージョン 2.268.0
追加
- XLSX チャートの近似曲線は、新しい
Intercept/InterceptSet、Forward、Backwardプロパティを通じて固定切片と前方・後方の予測期間をサポートするようになりました。<c:intercept>/<c:forward>/<c:backward>として出力されます。以前はクラシックな BIFF チャート ビルダーだけがこれらのコントロールを提供しており、未設定の近似曲線はバイト単位で同一のままです
バージョン 2.267.0
追加
- 数式計算は、複素数関数
IMCOS、IMSIN、IMTAN、IMSEC、IMCSC、IMCOT、IMLOG2、IMLOG10を評価するようになりました。複素数文字列オペランドに対する三角関数、逆数、2 進/10 進対数のサポートでIM*エンジニアリング関数ファミリを完成させます
バージョン 2.266.0
変更
- ストリーミング直接リーダーは、セル値を蓄積する前に列射影を適用するようになりました。射影された列セットが構成されている場合、その外側のセルは、以前はすべてのセルに対して実行されセル終了時に破棄されていた値、数式、リッチ テキスト文字列の構築をスキップし、少数の列のみを射影する幅広シートの読み取りが高速化されます
バージョン 2.265.0
追加
- 縦棒および横棒チャートのプロット グループは、新しい
BarGrouping、GapWidth、Overlapプロパティを通じて、設定可能なグループ化モード(clustered、stacked、percentStacked)、クラスター間隔の幅、系列の重なりを公開するようになりました。以前はすべての縦棒/横棒チャートがギャップや重なりのコントロールなしでclusteredにハードコードされており、未設定のグループはバイト単位で同一のまま、開いた後の編集マージ リストは新しい要素を所有済みとして扱います
バージョン 2.264.0
修正
- PDF のセル境界線は、すべての境界線が同一の 0.75 pt の実線として描画される代わりに、ワークシートの境界線スタイルと太さを反映するようになりました。XLSX セルは細線、中線、太線、ヘアライン、二重の太さと、破線、点線、一点鎖線、二点鎖線、斜め一点鎖線のパターンをレンダリングし、BIFF セルは細線、中線、破線/点線のスタイルをレンダリングします
バージョン 2.263.0
追加
- PDF エクスポートは、新しい
DocumentTitle、DocumentAuthor、DocumentSubject、DocumentKeywordsプロパティを通じて文書メタデータを埋め込めるようになりました。いずれかが設定されると、PDF はそれらのフィールドに加えてCreator/Producerの識別情報とCreationDateを含む/Info辞書を保持し、メタデータなしのデフォルト エクスポートはバイト単位で同一のままです
バージョン 2.262.0
修正
- CSV エクスポートはフィールドを過剰に引用符で囲まなくなりました。内部のスペースが引用を強制しなくなるため、
John Smithのような値は引用符なしで書き込まれ、RFC 4180 と Excel に一致します。区切り記号、二重引用符、改行、前後の空白を含むフィールドは、従来どおり引用符で囲まれます
バージョン 2.261.0
追加
- 各チャート系列は、新しい
SolidFillHexプロパティを通じて単色の塗りつぶし色を保持できるようになり、系列の<c:spPr>図形プロパティとして出力されます。16 進色を割り当てると、Excel の自動テーマ色の代わりにブランドまたはパレットの色で系列がスタンプされ、未設定の系列はバイト単位で同一のまま、開いた後の編集マージ リストはspPrを所有済みとして扱うため、複製ではなく置換されます
バージョン 2.260.0
変更
- スパース セル格納バックエンドは、セルが追加されるたびに再割り当てする代わりに、各 256 行ブロックのバッファを幾何級数的に(倍々で)拡張するようになり、高密度ワークシートの読み込み時に 2 次コピーコストがなくなりました
バージョン 2.259.0
修正
- BIFF8 ワークシートのオブジェクト保護(
OBJECTPROTECT)およびシナリオ保護(SCENARIOPROTECT)レコードがシート保護状態に読み戻されるようになり、ロック フラグが書き込まれたものの再読み込みで失われる代わりに、往復後も維持されます - BIFF8 ワークブック グローバルの
MMS、RefreshAll、UseSelFSレコードは、黙って破棄される代わりに往復を通じて保持されるようになりました
バージョン 2.258.0
追加
- 書式付き表示テキストは、
[Cyan]および[Magenta]の色ディレクティブと、[Color1]から[Color8]までのインデックス付きパレット ディレクティブを認識するようになり、HTML スタイルの書式付き出力がそれらの色を破棄する代わりに適用します
バージョン 2.257.0
追加
- 数式計算は、エンジニアリングおよび数学関数
FACTDOUBLE、SQRTPI、DELTA、GESTEP、SERIESSUM、CONVERTを評価するようになりました。CONVERTは質量、距離、時間、圧力、力、エネルギー、仕事率、磁気、温度、体積の単位をカバーし、一致しない単位カテゴリを拒否します
バージョン 2.256.0
修正
- 書式付き表示テキストは、
hh:mm、mm:ss、[h]:mm:ssなどの時刻マスクで分を正しく表示するようになりました。以前は Delphi のmm(月)が使用されていたため、分フィールドに月番号が表示されていました [$-409]や[$$-1009]などのロケールおよび通貨ディレクティブは、リテラルの$-409プレフィックスとして漏れる代わりに書式付き出力から取り除かれるようになりました。ディレクティブに存在する通貨記号は保持されます
バージョン 2.255.0
追加
- ZIP パッケージの読み取りは ZIP64 アーカイブを理解するようになり、拡張情報の extra フィールド、ZIP64 の end-of-central-directory レコードとロケーターを解析するため、部分やオフセットが従来の 4 GB / 65535 エントリの制限を超えるワークブックも、end-of-central-directory の健全性チェックに失敗する代わりに正しく開かれます
バージョン 2.254.0
セキュリティ
- 暗号化ワークブックのパスワード検証は、Agile および Standard 暗号化の両方で検証ハッシュを定数時間で比較するようになり、パスワード ハッシュの先頭何バイトが一致するかを明らかにする可能性があったタイミング サイドチャネルを塞ぎました
- Agile 暗号化は、システムの CSPRNG が利用できない場合に、ソルト、検証子、中間キー用の時間シード疑似乱数ジェネレータにフォールバックしなくなりました。予測可能なキー マテリアルを出力する代わりに、フェイルクローズするようになりました
バージョン 2.253.0
追加
- 数式計算は、Excel 365 の配列整形関数である
VSTACK、HSTACK、TOROW、TOCOL、WRAPROWS、WRAPCOLS、TAKE、DROP、CHOOSECOLS、CHOOSEROWS、EXPAND、RANDARRAY、TEXTSPLITを評価し、既存の動的配列メカニズムを通じて結果をスピルするようになりました - 数式計算は、最新のテキスト関数
TEXTBEFOREとTEXTAFTERを、出現番号、大文字と小文字を区別しない検索、末尾一致、見つからない場合の処理付きで評価するようになりました - 数式計算は、
RANDBETWEEN、ISEVEN、ISODD、およびFORECASTのエイリアスであるFORECAST.LINEARを評価するようになりました
バージョン 2.252.0
追加
- 定義名が省略可能なコメントを保持し、BIFF8 の NAMECMT レコードと OOXML の
definedNameのcomment属性として往復するようになりました - ローカル ファイルのハイパーリンク ターゲットが正規化され(バックスラッシュからスラッシュへの変換、
file://およびfile:///プレフィックス、予約文字のパーセント エンコーディング)、Excel がそのまま保存するようになりました - 図形、画像、テキスト ボックスの塗りつぶしの種類(単色、画像、グラデーション、なし、自動)が、生の塗りつぶしタイプ プロパティに対して型指定されるようになり、忠実に往復するようになりました
- 条件付き書式のデータ バーが、Excel 2010 以降の独立した負の値のバー境界線の色をサポートするようになりました
- ピボット キャッシュ フィールドが、複数レベルの日付および数値のグループ化のリンクを往復するようになりました
- ユーザー関数のコールバックが引数の種類の記述子を受け取り、ハンドラーがリテラル値、セルまたは範囲の参照、配列定数を区別できるようになりました
- 数式のコンパイルが、ローカライズされた関数名(ドイツ語、フランス語、スペイン語)を受け入れ、字句解析の前に正規の英語に書き換えるようになりました
- パスワードと暗号化のヘルパーが、名前付きのリターン コード定数を公開するようになりました
変更
- パッケージと XLSX の保存が、より高い圧縮メモリ レベルを持つより大きな deflate バッファを通過し、すでに圧縮されたバイトに対する冗長なチェックサム パスをスキップするようになり、保存の CPU と実時間が削減されます
- 内部の文字列ビルダー、リスト、ハッシュ テーブルの拡張が、より早いハッシュ再サイズ時点とともに幾何級数的(倍々)な割り当てを使用するようになり、ワークブックが多数のスタイル、名前、定義済み範囲、共有文字列を保持する場合の割り当ての頻発とルックアップのコストが低下します
- 共有文字列テーブルのルックアップが、完全な文字列を具体化する前に保存済みバイトを直接比較するようになり、大きな共有文字列テーブルでのルックアップ割り当てが削減されます
バージョン 2.251.0
修正
- XLSX のオープンと保存が、型指定されたワークブック状態を再生成しながら、外部のワークブック ルート名前空間宣言、マークアップ互換性属性、完全なワークブック レベルの
<extLst>ペイロード、およびそれらの不明なリレーションシップを保持するようになりました。保存されたr:id参照は、生成されたワークシートまたはワークブックのリレーションシップと競合する場合に古くなる代わりに、リレーションシップ ID の再割り当てに従います
バージョン 2.250.0
変更
- XLSX のスパース行エントリが、列と安定したセル ハンドルのみを保存するようになり、セル値、数式、またはリッチ テキスト オブジェクトが変更されるたびに、未使用のペイロード タグと冗長な分類、および 2 回目の行インデックス ルックアップが排除されます
バージョン 2.249.0
追加
TXLSRTFImport.LoadFromRTFとTXLSWorksheet.OpenRTFのオーバーロードが、明示的な 1 から始まるターゲット行と列でテーブルまたは段落リストをインポートできるようになりました。元のオーバーロードは引き続き A1 から開始します
変更
- XLSX の型指定行ライターが、厳密に前方のバッチを事前サイズ設定済みのスパース行ベクターに直接追加するようになり、スパース セル ルックアップはバイナリ検索なしで先頭列と末尾列のヒットを解決します。一方、重複書き込みは既存の置換パスと安定したセル ハンドルを保持します
修正
- ファイル バックの XLSX 生パート コピーと選択的シート読み込みが、サイズとタイムスタンプの検証付きのプライベートなソース アーカイブ ID を使用するようになり、後からストリームを開いたり、公開された
FileNameを割り当てたりしても、保持されたパートが別のワークブックにリダイレクトされなくなりました RefreshPivotCacheが、更新されたキャッシュを型指定されたシリアライズに切り替えるようになり、保存中に再構築されたレコードが古い生パッケージ バイトで上書きされなくなりました- 生の圧縮 ZIP コピーが、ソース ストリームに宣言された圧縮バイト数と正確に一致することを要求するようになり、中央ディレクトリ登録の前に、切り詰められたエントリと過剰に長いエントリの両方を拒否します
- 1 つの RTF インポーターを再利用する場合、ドキュメント間でコード ページと文字書式のパーサー状態がリセットされるようになり、太字、斜体、下線、取り消し線、フォント サイズが次のインポートに漏れなくなりました
MetadataOnlyの XLSX オープンが、ワークブックのプロパティ、名前、シート状態、スタイル、テーマ、接続、外部リンクを保持しつつ、共有文字列、ユーザー、ワークシート リレーションシップ、コメント、図面、チャート、テーブル、クエリ テーブル、ピボット、ワークシートから到達可能な不透明ペイロードを回避するようになりました
バージョン 2.248.0
変更
- XLSX の SaveAs が、解析された接続モデルが変更されていない場合に、変更されていない
connections.xmlパートをソース パッケージから生コピーするようになり、ソース XML の忠実性を保持し、不要な解凍と再圧縮を回避しつつ、編集された接続は引き続き型指定モデルから書き換えます
バージョン 2.247.0
変更
- XLSX の SaveAs が、解析されたモデルが変更されていない場合に、変更されていない外部リンクの XML とリレーションシップ パートをソース パッケージから生コピーするようになり、不明な拡張 XML を保持し、不要な解凍と再圧縮を回避しつつ、編集されたリンクは引き続き型指定モデルから書き換えます
バージョン 2.246.0
追加
TXLSHTMLImport.LoadFromHTMLのオーバーロードが、1 から始まるターゲット行と列でインポートし、0 から始まる 1 つの最上位テーブルまたはすべてのテーブルを選択し、グローバルな書式設定を変更せずに明示的な小数点区切り記号で数値を解析できるようになりました
変更
- XLSX のスタイル読み込みが、繰り返しの文字列キー構築と線形マップ検索の代わりに、共有の不変 cellXf 配列を通じて各セル スタイルを解決するようになり、スタイル付きワークブックのオープン時間と一時的な割り当てが削減されます
修正
- 変更された VBA プロジェクト バイトが、保持された生パート コピーをバイパスするようになり、編集されたマクロ有効ワークブックの保存で元の
vbaProject.binペイロードが復元されなくなりました - 生の ZIP メンバー コピーが、不一致の圧縮ヘッダーを出力する代わりに、STORE と DEFLATE 以外の圧縮方法を拒否するようになり、呼び出し元が安全な解凍と書き換えのフォールバック パスを使用できるようになりました
- HTML インポートが、最上位テーブルの外側にある行とセルのタグを無視するようになり、元のオーバーロードの確立された全テーブル動作を保持します
バージョン 2.245.0
追加
- 保護セルを認識した入力、数式の入力と再計算、矩形範囲の選択、数式参照のピッキング、境界付きの循環型アンドゥおよびリドゥ履歴を備えた、編集可能な
TXLSWorkbookViewerセル TXLSPivotDesignerが、行、列、フィルター、値の各ゾーン、決定的なフィールド移動、集計の選択、レイアウト検証、結果の適用を備えた、再利用可能な非ビジュアルのフィールド リスト モデルを提供します- クラシック XLS ワークブックが、ワークシート ID、1 から始まるセル座標、キャッシュ済みと新たに計算された値、数式テキストを含む共有の不一致レコードを備えた
CalculateAndVerify診断を提供するようになりました - クラシック XLS および XLSX のワークシートが、1 から始まる座標、グリッド境界のクリッピング、セル モデルへの直接書き込み、返される書き込み件数を備えた、型指定の数値、文字列、バリアントの行および列ライターを提供するようになりました
変更
- XLSX ビューアの描画が、再描画とスタイル解決の際に空白セルの具体化を回避することで、スパース ワークシートを保持するようになりました
TXLSXWorksheet.ReplaceTextが、完全なセル コレクションをコピーおよびソートせずに、線形時間で保存済みセルを直接訪問するようになりました
修正
- クラシック XLS の RC4 および RC4 CryptoAPI の読み取りと書き込みが、
[MS-XLS]で要求されるすべての平文レコード本体を保持し、BoundSheet8.lbPlyPosを暗号化しないままにし、一致するキーストリーム位置を消費し、FILEPASSの後の最初の暗号化レコードを読み取る前に復号を有効化するようになりました - SpreadsheetML のシリアライズが、対称的な
_xHHHH_コーデックを Xstring フィールドにのみ適用するようになりました。数式と参照構文は通常の XML エスケープを使用するため、トークン形状のリテラルは正確な数式の意味を保持します
バージョン 2.244.0
追加
- マルチフォーマットのクリップボード インポート:
XLSPasteFromClipboardRichが、プレーンな Unicode テキストよりも XML スプレッドシートのクリップボード形式(数式、スタイル、結合を保持)を優先し、形式の検出、抽出、SpreadsheetML 2003 の解析にXLSClipboardHasXmlSpreadsheet、XLSGetClipboardXmlSpreadsheet、XLSParseXmlSpreadsheetを使用します
バージョン 2.243.0
追加
- 外部定義名:
TXLSXExternalLinkが、外部ワークブック リンクから<definedNames>エントリ(名前 + refersTo)を解析、保存、往復するようになり、AddDefinedName、FindDefinedName、インデックス付きのDefinedNames[]アクセスを提供します - シートごとの更新失敗状態: 各
TXLSXExternalSheetDataが、最後の更新試行が失敗したかどうかを記録するRefreshErrorフラグを保持し、refreshError属性から解析され、その属性に出力されます
バージョン 2.242.0
追加
TXLSXWorkbook.PreserveRawPartsが、SaveAs 中に、変更されていないパート(テーマ、VBA プロジェクト、ピボット テーブル、ピボット キャッシュ)の圧縮表現をソース アーカイブから直接コピーし、保持された不透明エントリの解凍と再圧縮を回避します
バージョン 2.241.0
追加
TXLSXWorkbook.SelectedSheetsプロパティが、選択的なワークシート読み込みを可能にします。Open はリストに名前があるシートのセル XML のみを解析し、他のシートは 0 個のセルで名前と可視性の状態を保持します。LoadSheet(Index)を呼び出すと、元のアーカイブからスキップされたシートを必要に応じて具体化できます
バージョン 2.240.0
追加
TXLSXWorkbook.MetadataOnlyオープン モードが、ワークブックのプロパティ、定義名、シート名と可視性の状態、スタイル、テーマ、接続、外部リンクを解析しますが、すべてのワークシートのセル XML と付随パートをスキップするため、大きなワークブックからプロパティと名前を高速に検出できます
バージョン 2.239.0
追加
- 安定した公開ハンドル、行優先のキャッシュ効率の良いシリアライズ、すべての保存前の全ワークブック プールにわたるスタイル圧縮を備えた、コンパクトな 256 行ブロックのセル格納
- 区間スタイルのオーバーレイにより、行、列、矩形の書式を、空のセル オブジェクトを具体化せずにコンパクトに保ち、セル アクセス時に遅延解決し、構造編集を生き延び、コンパクトな列、行、スタイルのみのセル エントリとして往復できます
変更
- 通常のワークブック保存が、各ワークシート行をパッケージの deflate ストリームに直接ストリーミングするようになり、ピーク メモリが完全なワークシート XML ではなく最大の単一行に従います
- 共有文字列と補助 XML パートが、単一の再利用可能な UTF-8 シリアライザーを通じて一度に 1 エントリずつストリーミングされるようになり、ピーク メモリがパート全体ではなく最大のエントリによって制限されます
バージョン 2.238.0
追加
TXLSPaginationModelが、用紙ジオメトリ、マージン、ヘッダー、フッター、行と列のバンド、繰り返しタイトル、ページ順序、グリッド線ポリシー、描画配置を備えた、XLS および XLSX の範囲、ワークシート、ワークブック用の再利用可能な論理ページを構築しますTXLSWorkbookViewerが、共有モデルの印刷プレビュー、キーボードとスクロール ホイールによるページ ナビゲーション、キャッシュされたPaginationModelアクセス、明示的なRefreshPagination、選択ページの EMF 出力を提供するようになりましたTXLSPDFExport.CreatePaginationModelが、6 つすべての XLS および XLSX 入力タイプについて、PDF のカウントとレンダリングで使用される正確な所有ページ モデルを公開します
変更
- PDF エクスポートとページ カウントが、別々の XLS と XLSX のページ ループを維持する代わりに、1 つのページ割り付けエンジンを消費するようになりました
- 幅に合わせるおよび高さに合わせるスケーリングが、手動改ページと繰り返しタイトルを含む実際のページ バンドに対して解決されるようになり、Excel の 10% から 400% のスケール範囲内で行われます
バージョン 2.237.0
追加
TXLSFormulaDebuggerが、解析済みの式ツリー、ソース スパン、演算子、オペランド ノードと値、中間結果、決定的な評価順序、ナビゲート可能な現在のステップ状態を含む、所有された対話型セッションを作成します- 数式デバッグ セッションが、解決されたシート座標付きのセルと範囲の依存関係を公開し、
IF、IFERROR、IFNA、CHOOSE、IFS、SWITCHについて選択された分岐とスキップされた分岐を報告し、回復された内部エラーを発生元ノードとともに保持します
変更
- ワークブックとワークシートの
Calculateが、Excel の数式エラーをNullに変換する代わりに、標準のVariantエラー値として返すようになりました TXLSFormulaTracerが、プッシュと縮約のステップについて、正確な前後のオペランド スタックを記録するようになりました
バージョン 2.236.0
追加
TXLSXWorksheet.StructuralEditRegistryが、アプリケーション所有のワークシート メタデータを、IXLSXStructuralEditParticipantを通じて行と列の挿入または削除に参加できるようにするようになりました
変更
- XLSX の構造編集が、数式、名前、データ検証、条件付き書式、コメント、ハイパーリンク、図面、テーブル、クエリ、シナリオ、データ テーブル、印刷設定、スパークライン、ピボット キャッシュとビュー、ワークシート拡張機能をカバーする 1 つのガード付きトランザクションで、参照に敏感な作業を完了するようになりました
修正
- 挿入または削除された行と列が、保護範囲、スレッド コメントのアンカー、再オープンされたクラシック コメントの VML、ローカルおよびシート間のスパークライン参照、型指定されたピボット ソースとアンカー、計算済みピボット数式、保持されたワークシート拡張 XML 内の認識可能な参照を更新するようになりました
バージョン 2.235.0
追加
TXLSDirectWriterが、完全なワークブック オブジェクト モデルを構築せずに、クラシック コメント、アンカー付きワークシート画像、数式ベースの縦棒、横棒、折れ線、面、円、ドーナツ、散布チャート、および呼び出し元が提供する完全な ChartML を追加できるようになりました- 画像は、バイト、オプションの所有権移転付きのシーク可能なストリーム、またはファイル パスとして提供でき、PNG、JPEG、GIF、BMP、EMF、WMF のコンテンツを使用できます
変更
- リッチな直接ライター パートが、現在のシートのサイド チャネル記述子を使用し、シートが閉じる前にワークシートのリレーションシップ ID を割り当て、ワークシート XML の後にメディアと関連 XML パートをストリーミングするため、行メモリがシート サイズから独立して保たれます
バージョン 2.234.0
追加
TXLSDirectReaderが、型指定されたレイアウト レコードを備えた、オプトインの寸法、シート形式、列、行、ペイン、結合範囲のイベントを公開するようになりました- 列と行のイベントが、ワークシートのセル オブジェクトを構築せずに、幅または高さ、非表示と折りたたみ状態、アウトライン レベル、ソース スタイル インデックスを報告します
変更
- 割り当てられたレイアウト コールバックが、セル配信の前に境界付きメモリのメタデータ パスを使用するため、結合範囲とその他のレイアウト情報が、それらに依存するセルより先に届きます。通常のセルのみのスキャンは元の単一パスを保持します
- 並列の直接読み取りが、レイアウト コールバックを呼び出しスレッドに保持し、順序付けられたワーカー セル キューを排出する前に、選択されたシートのメタデータを完了します
バージョン 2.233.0
追加
TXLSXChartTextStyleが、型指定されたチャート タイトル、凡例、軸タイトル、軸ラベルのフォント名、ポイント サイズ、RGB 色、強調、テキスト回転を提供するようになりましたTXLSXChartLayoutが、明示的なエッジまたは係数モード、内側または外側のプロット ターゲットを備えた、正規化された手動のプロット エリア、チャート タイトル、軸タイトル、凡例の配置を提供するようになりました- チャートが、チャート タイトルのオーバーレイ設定とともに、型指定された凡例の可視性、位置、オーバーレイ、テキスト スタイル、レイアウト コントロールを公開するようになりました
変更
- 手動レイアウトが、Office 互換の既定モードを使用して常に完全な x、y、width、height グループをシリアライズするため、Excel が部分的な座標や競合する座標を破棄しません
修正
- 型指定されたチャートのフォントまたはレイアウトの編集が、無関係な拡張リストとカスタム名前空間コンテンツを保持し、既知の色または強調プロパティのクリアが構造マージ中にインポート値を復元しなくなりました
バージョン 2.232.0
追加
TXLSXImageが、パーセンテージ ベースのクロップ エッジ、透明度、明るさ、コントラスト、度数での回転、ストレッチまたはタイルの塗りつぶしモードを公開するようになりましたTXLSXImage.HasPreservedXmlが、インポートされた DrawingML が利用可能かどうかを報告し、ClearPreservedXmlは 1 つの画像をクリーンな型指定モデル再生成にオプトインさせます
変更
- 画像効果の値が、コンパクトな固定小数点ストレージを使用し、効果ごとのヘルパー オブジェクトを割り当てずにネイティブな DrawingML 単位を書き込みます
修正
- インポートされた画像のサポート対象プロパティの編集が、無関係な拡張機能、マークアップ互換性の選択肢、カスタム属性、図形効果、名前空間で修飾されたコンテンツを保持するようになりました
バージョン 2.231.0
追加
- インポートされた XLSX チャートが、
TXLSXWorkbook.PreserveUnsupportedPartsが有効な間、元の ChartML を保持するようになり、不明な名前空間、マークアップ互換性の代替、拡張リスト、カスタム スタイル、モデル化されていない書式を保持します TXLSXChart.HasPreservedXmlが、元の ChartML が利用可能かどうかを報告し、ClearPreservedXmlによりアプリケーションは 1 つのチャートをクリーンな型指定モデル再生成にオプトインできます
変更
- 変更されていないインポート済みチャートの保存が、元の ChartML を再現します。一方、サポート対象プロパティへの編集は、モデル化されたチャート ノードのみを構造的にオーバーレイし、無関係なコンテンツをそのまま保持します
修正
- チャート タイトル、系列、軸、その他のサポート対象プロパティの編集が、無関係な Excel 作成の拡張機能、代替コンテンツ、スタイル、または書式をチャート パートから破棄しなくなりました
バージョン 2.230.0
追加
TXLSXChart.AddPlotGroupが、チャート ファミリと系列が独立した主軸または副軸の割り当てを保持する、順序付けられた組み合わせチャートを構築するようになりました- チャートが、主軸と副軸のカテゴリ軸と値軸に加えて系列軸を公開するようになり、位置、識別子、交差、日付単位、ラベル間隔、可視性を含む型指定のカテゴリ、値、日付、系列軸の設定を備えます
- 縦棒、横棒、折れ線、円、面チャートが、設定可能な回転、高さ、奥行き、透視、直角軸、ギャップ深さを備えた専用の 3D チャート タイプを持つようになりました
- 系列が、名前、カテゴリ、値、バブル サイズ用の型指定された文字列および数値キャッシュを公開するようになり、スパース ポイント インデックスと数値書式コードを含みます
変更
- 互換性の
ChartType、AddSeries、フラットなSeriesAPI は引き続き主プロット グループを対象とし、チャート モデルはすべての順序付けられたプロット グループを保持します
修正
- 組み合わせチャートのオープンと再保存が、1 つのチャート ファミリに崩れたり、副軸、日付軸、系列軸を失ったりしなくなりました
- チャートの数式参照とキャッシュされた系列値が、平坦化されたり破棄されたりせずに、ワークブックのコピーとオープン/保存サイクルを生き延びるようになりました
- チャート アンカーが、リレーションシップ ID によってチャート パートに一致するようになり、リレーションシップ エントリを並べ替えるアプリケーションが、ワークシートの位置間でチャート コンテンツを交換しなくなりました
バージョン 2.229.0
追加
TXLSXWorksheet.HeaderFooterImagesは、奇数、偶数、および先頭ページのすべての左、中央、右のヘッダーまたはフッター位置に対して、型指定された画像スロットを作成、検索、置換、削除するようになりました- ヘッダーおよびフッターの画像は、生データ、形式、タイトル、ポイント寸法、ポイント マージンを公開し、PNG、JPEG、GIF、BMP、EMF、WMF ファイルから直接読み込むことができます
変更
- 偶数ページおよび先頭ページの画像は、ヘッダーまたはフッターのテキストを編集する際に、一致するページ バリアントを自動的に有効にし、必要な画像フィールド コードを維持します
修正
- ワークシートのコメントとヘッダーまたはフッターの画像は、1 つのワークシートを共有する場合、独立した VML リレーションシップを保持するようになりました
- Excel で作成されたヘッダーおよびフッターの画像スロットは、開くおよび保存するサイクルを通じて、画像バイト、形式、タイトル、寸法、マージン、リレーションシップを保持するようになりました
バージョン 2.228.0
追加
- 従来の XLS ワークシートと図形コレクションは、チェック ボックス、コンボ ボックス、リスト ボックスと並んで、型指定された
TXLSButtonおよびTXLSRadioButtonコントロールを作成および検出するようになりました - フォーム コントロールは、型指定されたプロパティを通じてマクロ名、リンク セル、入力範囲、チェック状態、フラットまたは 3D の外観、ラジオ グループ リンクを公開するようになりました
- 定義名は
IsMacroを公開し、マクロ バインディングが必要なブック名メタデータを保持するようにしました
修正
- 従来のフォーム コントロールの編集と再保存は、チェック状態、マクロ バインディング、リンク セルの数式、ソース範囲、サポートされるラジオ グループ メタデータを破棄しなくなりました
- コンボ ボックスまたはリスト ボックスのソース範囲のクリアは、次回のオープン時に以前の範囲を復元する代わりに、シリアル化された入力式を削除するようになりました
バージョン 2.227.0
追加
LINESTとLOGESTは、完全な多変量係数配列と省略可能な 5 行の統計行列を返すようになりましたTRENDとGROWTHは、単変量および多変量入力に対して整形された予測配列を返すようになりました
変更
- 配列の算術、比較、連結、単項否定、およびパーセント演算は、セルごとの結果を保持しながらスカラーおよび単一行または単一列をブロードキャストするようになりました
- 計算依存関係は、スコープ対応の循環保護を使用して、ネストされたブックおよびワークシート名、数式定義名、複数領域参照を展開するようになりました
修正
- ある配列要素のエラーは、完全な結果を崩したり、誤ってスカラー評価にフォールバックしたりしなくなりました
- 依存関係を静的に解決できる数式定義名は、不要な揮発性の完全再計算を強制しなくなりました
バージョン 2.226.0
追加
- 既存の XLSX ピボット キャッシュとピボットテーブル ビューは、パッケージ リレーションシップを通じて型指定モデルに読み込まれるようになりました。キャッシュ レコード、フィールド、共有アイテム、グループ化、フィルター、書式、計算定義、拡張機能が含まれます
TXLSPivotTable.Makeは、依存関係対応の名前バインディングを使用して、計算キャッシュ フィールド、計算アイテム、およびデータ計算メンバーを評価するようになりました- 拡張された
ShowDataAsモードは、有効な XLSX 拡張マークアップを使用して親パーセンテージ、累積パーセンテージ、昇順または降順のランクを追加します
変更
- ピボット結果生成は、グループ化ドメインを構築する前に、アイテムの可視性、ページ選択、キャプション、日付、集計、値フィルターを適用するようになりました
- 数値、日付、離散グループ、ラベルまたはデータ値の並べ替え、構成された小計、および省略可能な具体化された総計行または列が、結果生成に参加するようになりました
修正
- ピボット フィルターは、曖昧な数値の代わりに、スキーマ有効なルート レベル フィルター マークアップとシンボリック フィルター タイプを使用するようになりました
- リレーションシップ駆動の読み込みは、従来式または逐次ピボット キャッシュ、キャッシュ レコード、ピボットテーブル パーツ名を前提としなくなりました
バージョン 2.225.0
追加
TXLSXWorkbook.ConnectionsおよびTXLSXWorksheet.QueryTablesは、外部データベース、Web、テキスト、クエリ結果のメタデータに対する型指定された作成と編集を提供するようになりました- 接続パラメータは、明示的なゼロ、false、空文字列の値を含め、Boolean、整数、浮動小数点、文字列、セル参照の種類を正確に保持します
変更
- XLSX の開く処理と保存処理は、所有するリレーションシップを通じて接続およびクエリテーブルのパーツを解決および書き込み、結果テーブルと定義された名前を同期し、未知の属性、子ノード、拡張リストを保持するようになりました
- 行と列の編集はクエリ結果範囲を整列させたまま維持し、同じワークブック内およびワークブック間のワークシートコピーはクエリの所有権を保持し、接続識別子と競合する名前を再マッピングします
修正
- クエリテーブルは、ワークシートまたはワークブックのリレーションシップ識別子の衝突なしに、標準テーブル、スレッド化されたコメント、ピボットテーブルと共存できます
バージョン 2.224.0
追加
- クラシック XLS およびモダン XLSX ワークシートは、1 変数行、1 変数列、2 変数の What-If データ テーブル用に
AddDataTableとDataTablesを公開するようになりました
変更
- ワークブックの再計算は、間接的な数式依存関係を含む分離された入力コンテキストで各データ テーブル結果を評価し、定義とキャッシュされた結果を開く、保存する、ワークシート コピー、および構造的な行または列の編集を通じて保持します
修正
- 削除された What-If 入力セルは
#REF!結果を生成するようになり、クラシック ワークブック再計算は最初のシートを省略せずにすべてのワークシートを訪問するようになりました - クラシック ワークシートの先頭に行を挿入しても、Win64 でアクセス違反のリスクが生じなくなりました
バージョン 2.223.0
変更
- 並列直接リーダーのキャンセルは、次の XML プルを待つ代わりに、アクティブな ZIP メンバー読み取りとすべての解凍ステップを通じて伝播するようになりました
修正
- 並列ワークシート スキャンの中止は、ブロックされたワーカーが解放される前に、大きな圧縮 XML 読み取りの完了を待たなくなりました
バージョン 2.222.0
追加
TXLSDirectReader.ParallelBufferMemoryLimitは並列ワークシート スキャン用の raw-cell キュー ペイロードの合計を制限し、ParallelPeakBufferedBytesは診断および容量テスト用の測定ピークを公開します
変更
- 並列直接読み取りは、完全に展開されたワークシート XML およびシートごとの完全なセル バッファを保持する代わりに、ワークシート ZIP エントリをワーカー ローカル XML リーダーと制限付き producer-consumer キューにストリームするようになりました
- アクティブなワークシートは独立したキュー予算を受け取り、ワーカー サイズのウィンドウで処理され、現在発行されているワークシートを後のワークシートが枯渇させることなくコールバック順序を保持します
修正
- セル中止、コールバック障害、およびワーカー エラーは、ブロックされた producer と consumer を起こし、XML プルを協調的に停止し、すべてのワーカーを結合して、直接リーダーを再利用可能な状態にします
バージョン 2.221.0
変更
- 複数シートの XLSX を開く処理は、解析前に展開されたワークシート XML を保持する代わりに、各ワークシート ZIP エントリをそのワーカー ローカル インフレータおよび XML リーダーに直接ストリームするようになりました
- 同時ワークシート リーダーはパッケージ ソースからの短い位置指定読み取りのみをシリアル化するため、展開と XML 解析は並列のままであり、一時的なワークシート入力メモリはアクティブなワーカー数によって制限されます
バージョン 2.220.0
追加
- ピボットテーブルの結果生成は、差分、基準項目のパーセント、パーセント差分、累計、行のパーセント、列のパーセント、合計のパーセント、指数計算を含む、9 つのクラシックな
ShowDataAsモードをすべて実行するようになりました xlPivotBaseItemPreviousとxlPivotBaseItemNextは、比較計算における隣接する基準項目の型指定されたセレクターを提供します
変更
- ピボットのパーセンテージおよび指数値は、ソースレコードから直接集計された行、列、総計を使用し、ソースを再スキャンすることなく、正しい平均、積、カウント、分散、標準偏差のセマンティクスを維持します
- 累計はピボット項目の順序に従い、各ピアグループごとに独立してリセットされ、高カーディナリティのピボット向けにスパースな結果ストレージを維持します
修正
- BIFF8 の
SXDIレコードは標準の 14 バイト固定レイアウトを使用し、型指定された読み取りを通じてShowDataAs、基準フィールド、基準項目、数値書式、表示名を保持するようになりました。従来の HotXLS レコードも引き続き読み取り可能です - XLSX データフィールドはピボットフィールドインデックスを書き込み、前/次のセレクターを必要な OOXML 値にマッピングし、それらを使用するモードに対してのみ base 属性を出力するようになりました
- 欠落した比較セルは空白のままですが、存在するゼロの分母は欠損データと混同される代わりに
#DIV/0!を返します
バージョン 2.219.0
修正
VDBは、小数期間にわたって定率逓減償却を適用し、有利な場合には定額償却に切り替え、no_switchを尊重するようになりました- ゼロの係数、残存価値の境界、小数の開始期間、無効な期間範囲は、期間を丸めて単純化された定率逓減の近似値を返す代わりに、Excel 互換の結果に従うようになりました
バージョン 2.218.0
追加
TXLSXWorksheet.Scenariosは、名前付きシナリオ、アクティブおよび表示インデックス、変化するセル範囲、ユーザーとコメントのメタデータ、ロック状態と非表示状態、所有された入力セル値を備えた、型指定された What-If シナリオマネージャーのオーサリングを提供するようになりました- シナリオ定義はワークシートのコピーおよび行または列の構造編集に追従し、無効なメタデータが書き込まれる前に Excel 互換の制限が検証されるようになりました
修正
- Excel 作成のシナリオを開いて保存する操作は、階層を損失のある生 XML に平坦化する代わりに、ルート属性とネストされた入力セルを保持するようになりました
- シナリオ、オートフィルタ、データ統合、結合セル、ふりがなのワークシート要素はスキーマ順序を使用し、厳密なスプレッドシートコンシューマーが修復パスを必要としないようになりました
バージョン 2.217.0
追加
TXLSXWorksheet.IgnoredErrorsは、マルチエリア参照、ワークシートコピーのサポート、構造編集の更新、および開く/保存のラウンドトリップにより、標準の無視エラーカテゴリごとに型指定されたオーサリングを提供するようになりましたTXLSXWorkbookは、既存の計算オプションに加えて、参照モード、保存時再計算、完全精度、同時計算、および手動同時実行の設定を公開するようになりました
修正
- 既定以外のブック計算設定はそれぞれ、反復が有効になる前に構成された反復制限を含め、スキーマ順序の
calcPr要素を個別に生成してラウンドトリップするようになりました - 計算モード、参照モード、反復の境界、計算識別子、および手動同時実行カウントは、あいまいなブック状態を書き込む代わりに、無効な値を拒否または正規化するようになりました
バージョン 2.216.0
変更
XMATCHとXLOOKUPは、要求時に対数昇順または降順二分探索を実行するようになりました。Excel 互換の重複および近似一致の境界も含まれますXIRRは、高位および推測値に敏感な根を見つけられる保護付きソルバーで推測値を尊重するようになり、XNPVは補償総和と検証済みの日付・利率入力を使用するようになりました- 高カーディナリティの XLSX 定義名参照は、シリアル化順序、ローカル名優先順位、最初の一致動作を維持したまま、遅延初期化のスコープ対応ハッシュインデックスを使用するようになりました
- 保持される XLSX パッケージパーツは、完全な長さおよび CRC 検証を維持したまま、宣言された非圧縮サイズを一度だけ割り当てるようになりました
修正
- 無効な検索モード、ワイルドカード二分探索、二次元の検索範囲、および不一致の
XLOOKUP戻りベクトルは、曖昧な結果を生成する代わりに数式エラーを報告するようになりました XIRRとXNPVは、無効なキャッシュフローの符号、利率、推測値、日付を拒否し、小数の日付シリアルを切り捨て、未検証の中間値を返す代わりに非収束を報告するようになりました
バージョン 2.215.0
追加
FREQUENCYは、ビンごとに1つの結果と超過分バケットを含む縦方向配列を返すようになりました
変更
SORTは、行または列に対して安定したスケーラブルな順序付けを使用し、等しいキーの元の順序を維持するようになりましたUNIQUEは、行または列に対して安定したハッシュインデックス付きマッチングを使用し、exactly_onceの結果および大文字小文字を区別しないテキストを含むようになりましたPERCENTRANK.INC、PERCENTRANK.EXC、およびMODE.MULTは、二次スキャンに依存する代わりに、高カーディナリティの入力に対して効率的にスケールするようになりました
修正
SORTおよびUNIQUEのby_colオプションが、行の動作にフォールバックする代わりに、列に対して機能するようになりました
バージョン 2.214.0
追加
- XLSX のオープンにおいて、バイトオーダーマークまたは必須のエンディアン固有の宣言を持つストリーミング UTF-16 リトルエンディアンおよびビッグエンディアンの XML パートを受け付けるようになりました。基本多言語面外の文字も含まれます
変更
- 高カーディナリティのピボットテーブルキャッシュリフレッシュにおいて、共有値に決定論的なハッシュインデックスを使用し、レコード行列を一度だけ割り当てるようになりました。これにより、最初に見つかった項目の順序を維持しつつ、繰り返される線形検索や行ごとの成長を回避します
- 射影された直接読み取りにおいて、生の値、数式、およびリッチテキストをシートごとのバッファーにコピーする前に、選択された行および列の外側にあるセルを破棄するようになりました
修正
- 重複するバイトオーダーマーク、未サポートまたは矛盾するエンコーディング宣言、UTF-32 シグネチャ、奇数の UTF-16 バイト長、または無効なサロゲートペアを持つ不正な XML が拒否されるようになりました
- 並列直接リーダーのワーカーが、開始前にすべてのジョブ状態を初期化し、障害発生後に新しいシートジョブの取得を停止し、最も低いインデックスのジョブエラーを決定論的に再送出し、プール構築が失敗した場合は作成されたすべてのワーカーをクリーンアップするようになりました
バージョン 2.213.0
追加
T.TESTが、対応のあるサンプルに加えて、プールされた等分散またはウェルチの不等分散を持つ独立したサンプルを評価するようになりました。片側および両側の確率を含みます
変更
- XLSX のオープンにおいて、ワークシート、共有文字列、スタイル、テーマ、マクロ、外部リンク、コメント、スレッド化されたコメント、VML、図面、画像、チャート、テーブル、およびピボットテーブルについて、ブック、ワークシート、および図面のリレーションシップターゲットをたどるようになりました。名前変更または非連続のパートパスを使用する有効なパッケージも含まれます
修正
- リレーションシップ識別子が重複した不正なパッケージにおいて、互換性リカバリ中に後の未サポートのリレーションシップが最初の使用可能なターゲットを置き換えることがなくなりました
バージョン 2.212.0
変更
- 再ビルドやダーティセルの無効化の前にセルと範囲の依存関係をインデックス化することにより、大規模なワークシートでの数式の依存関係追跡のスケールが向上しました
- 大規模な統計および回帰数式において、以前の固定サイズバッファで停止する代わりに、指定された範囲内のすべての数値を評価するようになりました
修正
- ワークシートグリッド外のXLSXセルが一貫して拒否されるようになり、無効な座標が有効なセルとエイリアスを形成しなくなりました
- 数式の編集時に、ワークブックの計算モード、反復制限、フル計算フラグ、またはその他の計算設定がリセットされなくなりました
- Blobリストの読み取りにおいて、要求された範囲を明示的に検証し、ストリームの末尾で有効な空のスライスを許可するようになりました
セキュリティ
- 従来のXLS暗号化において、ワークシートデータとともにピボットキャッシュストリームもカバーするようになりました
- 不正なSST拡張の末尾およびZIPセントラルディレクトリレコードが、過剰な割り当て、切り捨てられた読み取り、またはコメントに埋め込まれた偽のディレクトリレコードが読み込みに影響を与える前に拒否されるようになりました
バージョン 2.211.0
追加
TXLSPivotTable.Makeにおいて、設定されたすべてのデータフィールドを独自の集計でマテリアライズし、DataFieldAxisIsRowに従って行または列に値を展開するようになりました
変更
- ピボット結果の生成において、ハッシュインデックス化された行および列のキーマッピングをすべてのデータフィールド間で再利用し、結果の形状から稠密または疎のアキュムレータストレージを選択し、9つを超えるキーでもキャッシュ項目の順序を維持し、マルチフィールド軸に対して読みやすい結合ラベルを出力するようになりました
修正
Countにおいて空でないテキスト、ブール値、エラー、日付、および数値のキャッシュ値を含めるようになり、CountNumsは数値と日付の値のみを含めるようになりました。また、Productは数値のない交差に対してゼロを返し、空白はエントリとしてカウントされなくなり、値のみのピボットは行または列フィールドなしで総計をマテリアライズできるようになりました
バージョン 2.210.0
追加
TXLSWorkbookViewerにおいて、XLSXの条件付き塗りつぶし、フォントの色と強調、表示形式、方向性の正負 of データバー、グラデーション、罫線、軸、非表示の値、およびすべての組み込みアイコンセットファミリーをレンダリングするようになりました- 呼び出し元がアタッチされたXLSXワークブックをインプレースで変更した後に、
TXLSWorkbookViewer.RefreshConditionalFormatsが準備された集計およびしきい値の状態を再構築するようになりました
変更
- ビューアは、アクティブなワークシートごとに準備された条件付き書式エバリュエータを1つキャッシュし、スクロール、選択、および再描画の操作にわたってそれを再利用し、ワークブックまたはワークシートが変更されたときにそれを解放します
修正
- 右端の境界にあるデータバーの軸が、隣接するセルに描画される代わりに、所有するセル内にクリップされるようになりました
バージョン 2.209.0
追加
- XLSXワークシートにおいて、任意のセルに対してルールの優先度、
StopIfTrue、相対数式、差分スタイル、上位/下位ランキング、平均以上/以下テスト、重複および一意の値、相対的な日付期間、2色および3色スケール、データバー、およびアイコンセットを解決する、準備された条件付き書式エバリュエータを公開するようになりました
変更
- HTMLおよびPDFのエクスポートにおいて、対応する条件付き塗りつぶし、フォントの強調と色、表示形式、カラースケール、方向性の正負のデータバー、明示的な軸、アイコンファミリーのグリフ、非表示の値、およびティント解決を含むテーマカラーをレンダリングするようになりました
- 大規模な条件付き書式ドメインにおいて、セルごとの構文木割り当てなしでコンパイル済みの相対数式を再利用し、平均、偏差、最小値、最大値の統計をストリーミングし、ランキングまたはパーセンタイルルールに対してのみ順序付けられた値を保持し、Unicodeの重複キーをバッチソートし、関連のないルールのスキャンを避けるために行バンド候補インデックスを使用するようになりました
修正
- 従来の条件付きルールにおいて、式の型を正しく読み込み、範囲間の逆評価、大文字と小文字を区別しないテキスト述語、空白セル、およびエラー述語を一貫して評価するようになりました
バージョン 2.208.0
変更
- パック化セルストレージエンジンが、ネイティブのタグ付き文字列、ブール値、エラー、および空のペイロードを書き込み、セルを行優先順序で反復し、メモリ使用量を低減し逐次出力を高速化するために、連続する同型セルをランレングスエンコードするようになりました
- 従来のワークブックの共有文字列が、文字バイトを1つの割り当てで保持し、復号された文字列値を遅延生成するようになり、巨大な一意文字列テーブルの割り当てオーバーヘッドを削減しました
追加
- ピボットテーブルが、キャッシュレコードから行および列キーのグループ化と、サポートされる11の集計関数すべてを含む完全な結果行列を計算できるようになりました
- 従来のワークブックのチャートが、変換および検査ワークフローのために、型付きの系列、軸、凡例、およびチャートグループ情報を公開するようになりました
バージョン 2.207.0
追加
TXLSPivotCache.RefreshFromSourceが、ソースワークシート範囲からピボットキャッシュを構築します。ヘッダー行を読み取ってフィールドに名前を付け、各データ行の個別値をフィールドごとの共有アイテムドメインに抽出し、最初の空でない値からフィールド型を決定し、すべての (レコード, フィールド) の共有アイテムインデックスを記録します。これにより、Excel のrefreshOnLoadに依存せずに、データ範囲からピボットテーブルをプログラムで作成できます。コールバックベースの値リーダーにより、ピボットユニットはワークシートへの直接依存を持ちません
バージョン 2.206.0
追加
- 新しい
TlxCellMMU(lxCellMMUユニット)が、同型および空のセルランのランレングスエンコーディング、およびデータ幅セレクタを兼ねるタグ付きバイト型コードを持つ、パック化された行優先セルストレージエンジンを実装します。これにより、小さな整数の列はセルあたり8バイトではなく1バイトで済みます。エンジンは値を維持する最小幅(int8 / int16 / int32 / 2桁 / 4桁のスケール付き整数 / IEEE 倍精度)で数値をエンコードし、文字列インデックス、ブール値、エラー、空のセルをコンパクトに格納し、GetValue/SetNumber/SetStringAPI と前方イテレータを公開します。これは既存のTXLSXCellsAPI の機能フラグの背後にある次世代バックエンドであり、密なシートで10–25× のワーキングセット削減を目指しています
バージョン 2.205.0
追加
TXLSCustomChart.GetChartInfoが、生の BIFF チャートレコードストリームから意味論的サマリー(チャート型ファミリ(bar、line、pie、area、scatter、radar、doughnut、surface、bubble)、系列数、凡例の有無)をデコードするようになりました。これにより、BIFF チャートの型をプログラムで照会でき、BIGH から XLSX へのチャート変換が正しいターゲットファミリを選択できます。ラウンドトリップの忠実性を保証するバイトパススルー ストレージは変更されません
バージョン 2.204.0
変更
- 従来の
.xls共有文字列テーブルが、ASCII 専用文字列を圧縮 Latin-1 エンコーディング([MS-XLS] §2.5.294fHighByte=0、文字あたり1バイト)で書き込むようになり、常に UTF-16 を使用する代わりに、ASCII 中心のワークブックで SST サイズ — したがって.xlsファイル — をほぼ半分にします
バージョン 2.203.0
追加
- 新しい
TlxCompoundFileが、ole32.dll/ COMIStorage依存関係なしで、純粋な Pascal で Compound File Binary (OLE2) コンテナ形式を直接読み書きします — インメモリおよびクロスプラットフォームの.xls処理への道を開きます。リーダーは HotXLS が実際に遭遇する v3 レイアウト(ヘッダー + ヘッダー内 DIFAT + FAT チェーンウォーク + MiniFAT と 4096 バイト未満のストリームのためのミニストリーム + ディレクトリツリー)をカバーし、ライターは HotXLS の出力に十分な最小限だが有効な v3 コンテナを生成します
バージョン 2.202.0
追加
- オートフィルタのソート状態が型付きモデル(
TXLSXSortStateとTXLSXSortCondition子)を持ち、値 / セル色 / フォント色 / アイコンによるソート、ソートメソッド(none / stroke / pinYin)、大文字小文字の区別、列ソート、および条件ごとのカスタムリストをカバーするようになりました — これにより、アプリケーションは生の XML を編集する代わりにソート状態をプログラムで構築できます。HotXLS が作成していないファイルについては、従来の不透明なSortStateXmlパススルーが引き続き優先されます - 動的フィルタが型付き
TXLSXDynamicFilterType(平均より上/下および標準偏差、今日/昨日/明日、今週/先週/翌週、今月/先月/来月、今四半期/先四半期/次四半期、今年/去年/来年、年度当初、Q1–Q4、M1–M12)として読み書きされ、オプションのval/maxVal境界を持つようになりました — 動的フィルタを使用するワークブックを開いても、保存時にそれがドロップされることはありません
バージョン 2.201.0
追加
- サーフェスおよび 3-D サーフェスチャート(
xlsxChartSurface/xlsxChartSurface3D)が第一級のチャート型になりました — 他のチャートファミリと同様に書き込み、読み取り、ラウンドトリップされます - オートシェイプオーサリング API が、OOXML プリセットジオメトリリストの実用的なサブセット — 三角形、ひし形、平行四辺形、六角形、八角形、矢印、シェブロン、吹き出し、フローチャートノード、星、ハート、太陽、月、角かっこと大かっこ — をカバーし、それぞれが正しい
prstトークンと[MS-ODRAW]シェイプ ID にマッピングされるため、オーサリングされたシェイプは Excel で正しくレンダリングされます(完全な 187 プリセットリストは、生のアンカーパススルーによるラウンドトリップですでに保存されていました)
バージョン 2.200.0
修正
- オートフィルタがカラーフィルタまたはアイコンフィルタを使用するワークブックを開いても、保存時にそのフィルタがドロップされなくなりました —
colorFilterとiconFilterが型付き列(TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter)に読み込まれ、認識されないフィルタ列の子として失われる代わりに、そのまま再出力されます
バージョン 2.199.0
追加
TCondFormatRule.Evaluateが、特定のセルに対して条件付き書式ルールが適用されるかどうかを判定します。セル値の比較、数式表現、テキストを含む/始まる/終わる、空白、およびエラールールをカバーします — ルールが現在強調表示しているセルを照会するための、また Excel 外で CF 結果をレンダリングするための基盤です
変更
FACTと内部階乗ヘルパーが、呼び出しごとに O(n) の積を再計算する代わりに、事前計算された 0!..170! テーブルを使用するようになり、FACT、多項式係数、およびポアソン/二項/カイ二乗分布のパスが高速化されました
バージョン 2.198.0
変更
- ワークシートの保存が、各行のインデックスをセルごとに再割り当てして拡張する代わりに、単一のカウントしてから埋めるパスでセルを行にグループ化するようになり、大きなシートでの隠れた O(cells × cells-per-row) のコピーが削除されました
- 数式依存関係グラフが、参照範囲を (シート, 行) でインデックス化するようになったため、ダーティーセルのシードがすべての数式をスキャンする代わりに候補バンドを二分検索します — ワークブックが大きく、シートが多いほど、再計算時の高速化が大きくなります
- 行優先、列ソートのセルトラバーサルが
TXLSXWorksheet.BuildRowMajorCellOrderとして公開され、保存、クリップボード、オートフィルタ、その他の行順序のコンシューマーが、トラバーサルを再導出する代わりに1つのトラバーサルを共有するようになりました
バージョン 2.197.0
修正
- レーダー、株価、パイ・オブ・パイ/バー・オブ・パイチャートが、それらを含む
.xlsxワークブックを開いて再保存しても失われなくなりました — チャートリーダーが、すでに書き込んでいるc:radarChart、c:stockChart、c:ofPieChartコンテナ要素を認識するようになり、対称な読み取り/書き込みカバレッジが復元されました - 関数コード 101–111 の
SUBTOTALが非表示行の値を除外するようになり、AGGREGATEが非表示行無視オプションコード (2, 3, 6, 7) を尊重するようになり、非表示を含めるバリアントと無視するバリアントを同じように扱う代わりに Excel に一致するようになりました - 宣言よりも多くの引数を持つ固定アリティの組み込み関数(例えば
=SIN(1,2))を呼び出すと、ディスパッチャで受け入れられる代わりに中央で#VALUE!を発生させるようになりました
バージョン 2.196.0
修正
- 行と列の挿入または削除が、編集されたターゲット領域が異なる相対数式アンカーを必要とする場合に、セル値と式の条件付き書式およびデータ検証を分割するようになり、同時にルール設定を保持し、一意の条件付き書式優先度を割り当て、集計条件付き書式ドメインを完全に保持します
バージョン 2.195.2
変更
- PDF エクスポートが、Windows
fontsub.dllのCreateFontPackageAPI を介して埋め込み TrueType フォントをサブセット化するようになり、文書全体の.ttfを埋め込む代わりに、実際にレンダリングされたグリフのみを保持します — Unicode が多いシートでは通常 PDF を 8–20× 縮小します。サブセット化が利用できない場合はフォント全体の埋め込みにフォールバックします
バージョン 2.195.1
修正
- 従来の
.xlsエンジンでの行と列の挿入または削除が、影響を受けるすべての数式参照(セル数式と定義名)を Excel のセマンティクスに一致するように書き直すようになりました — 挿入ポイントより下の参照はシフトし、削除内に完全に含まれる参照は#REF!になり、部分的に重なる領域は縮小します — 古い座標を残す代わりに
バージョン 2.195.0
変更
- テーブル列の削除が、ワークシート数式、テーブル数式、定義名、およびチャート系列全体で、影響を受けるすべての構造化参照トークンを
#REF!に変換するようになり、同時に無関係な参照と文字列リテラルを保持します
修正
- テーブル全体を削除しても、存在しなくなったテーブルを指す修飾済み構造化参照が残らなくなりました
- 複製されたデータ検証が IME 入力モードを保持するようになりました
バージョン 2.194.0
変更
- 行と列の編集が、Excel テーブル列識別子、名前、計算された数式、合計数式、フィルタ列、フィルタ範囲、およびソート条件を編集されたテーブルに合わせて維持するようになりました
修正
- 条件付き書式およびデータ検証数式が、削除が最初のターゲット領域を削除したときに相対参照と混合参照を再ベース化するようになりました
- ワークシートとテーブルのソート状態が、有効な属性を書き込み、範囲が削除された条件を破棄するようになりました
バージョン 2.193.0
変更
- 行と列の編集が、複雑なスコープ間定義名の数式、バブルチャートのデータ範囲、および数式ベースの視覚的条件付き書式しきい値を更新するようになりました
- バブルチャートと散布図が、再オープン時に X 軸、Y 軸、バブルサイズ系列の範囲を復元するようになりました
修正
- 複数領域の条件付き書式およびデータ検証ターゲットが、完全なターゲットリストを変更せずに残す代わりに、各生存領域を個別にシフトするようになりました
- テキストボックスとワードアートのアンカーが、挿入および削除された行と列に合わせて移動またはリサイズするようになりました
バージョン 2.192.0
追加
- ストリーミング直接読み取りと行カーソルトラバーサルが、完全なラン書式設定、ふりがなラン、ふりがなプロパティを持つ構造化リッチ文字列にオプトインできるようになり、同時に境界付き共有文字列ストレージを保持します
TXLSDirectWriter.WriteRichStringが、書式設定およびふりがなテキストをインラインまたは重複排除された共有文字列として書き込みます
変更
- リッチ共有文字列の重複排除が、ラン書式設定とふりがなメタデータを区別しつつ、通常の文字列インターンは既存の高速パスに維持するようになりました
修正
- インライン文字列内のふりがなテキストが、表示されるセル値に含まれなくなりました
バージョン 2.191.0
追加
TXLSXRange.SetDynamicArrayFormulaが、完全な Excel XLDAPR メタデータチェーンを持つネイティブ動的配列数式を作成するようになりました
変更
- 動的配列ルートが1つの重複排除されたワークブックメタデータレコードを共有し、ワークブック間のワークシートまたは範囲コピーがそのレコードを宛先ワークブックに再マップするようになりました
- サポートされる動的配列メタデータは、未サポートのパッケージパーツ保持が無効な場合でも利用可能であり、同時に無関係な値メタデータは引き続き削除されます
修正
- 動的配列のスピルセルが従来の CSE フォロワーとしてモデル化されなくなり、ルートの置換またはクリアが古いメタデータインデックスを残さなくなりました
- 最後の動的配列ルートを削除すると、未使用のメタデータパーツ、ワークブックリレーションシップ、およびコンテンツタイプエントリが削除されるようになりました
バージョン 2.190.0
変更
- ストリーミング直接読み取りと行カーソルトラバーサルが、射影と境界付きメモリの動作を保持しつつ、共有数式フォロワーを完全なセル相対数式に展開するようになりました
修正
- 動的配列ワークブックが、オープンおよび保存サイクル中にセルおよび値のメタデータインデックス、数式再計算属性、メタデータパッケージリレーションシップ、および変更されていない将来の関数プレフィックスを保持するようになりました
- 未サポートパーツ保持の無効化が、メタデータパーツ削除後に宙に浮いたワークシートメタデータインデックスを残さなくなりました
バージョン 2.189.0
追加
- XLSX ワークブックを開く際に、共有数式フォロワーを、正しい相対、絶対、混合、範囲、およびシート修飾参照を持つ完全なセルごとの数式に展開するようになりました
修正
- 自己終了の共有数式フォロワーが後の値または数式 XML を取り込まなくなり、そのキャッシュされた結果がオープン/保存サイクルを生き延びるようになりました
- CSE 配列数式が、行または列構造の編集、完全な範囲コピー、ワークシート複製、およびワークブック間シートコピーを通じてアンカーとフォロワー関係を保持するようになりました
- 通常の数式を割り当てるかセルをクリアすると、古い CSE 配列メンバーシップが削除され、計算が古い配列アンカーにリダイレクトされないようになりました
- CSE 配列の一部だけをコピーしても、宛先に宙に浮いたフォロワー参照が作成されなくなりました
- 範囲コピーが、重なり合うソースのスナップショットを取り、相対数式参照をシフトし、ソースセルまたは配列アンカーがコピーされる前に上書きされるのを防ぐようになりました
- CSE 配列の一部とだけ交差する行または列の編集が、配列をサイレントにリサイズまたはデタッチする代わりに拒否されるようになりました
バージョン 2.188.0
追加
TXLSDirectReader.SharedStringMemoryLimitが、復号された共有文字列メモリを制限し、より大きなテーブルをクローズ時削除のインデックス付き一時ストレージに固定サイズの値キャッシュとともに自動的に移行しますTXLSRowCursor.SharedStringMemoryLimitが、前方専用行トラバーサルのための同じ境界付き共有文字列ストレージ制御を公開します
変更
- 直接共有文字列解析が、空白のみの値、CDATA、XML エンティティ、非 BMP 文字、空のアイテム、およびリッチテキストランの順序を保持しつつ、ふりがなガイドテキストを表示値から除外するようになりました
修正
- XLSX ワークブックを開く際に、すべての共有文字列アイテムを文書順に保持するようになり、重複テキストや異なる書式のリッチ文字列が後のセルインデックスに折りたたまれるのを防ぎました
- XLSX ワークブックを保存する際、リッチ文字列を表示テキストだけでなくラン境界と書式プロパティで重複排除するようになり、同じ表示値を持つセルの異なる書式を保持します
バージョン 2.187.0
追加
TXLSDirectReader.FirstRowとLastRowが、ストリーミング読み取りを 1 から始まる行範囲に制限し、要求された範囲の後でワークシート解析を停止しますTXLSDirectReader.IncludeColumnとClearColumnProjectionが、値の復号とコールバックディスパッチの前に選択されていないセルをスキップする定数時間の列射影を提供します
バージョン 2.186.0
追加
TXLSDirectWriter.UseSharedStringsが、正確な合計および一意カウントを持つ OOXML 共有文字列パーツに繰り返しテキストを重複排除でき、繰り返しの多いデータのパッケージサイズを削減しますTSimpleDomReaderが、ワークブックメタデータとパッケージパーツのランダムアクセスクエリのための、コンパクトなシングルパス XML ツリーを提供し、大文字小文字を区別する QName とローカル名参照を持ちます
変更
- 直接 XLSX 読み取りが、ストリーミングメモリ動作を保持しつつ、ハッシュ支援の正確な要素ディスパッチ、シングルパス属性収集、および定数時間の現在行列参照を使用するようになりました
- 共有文字列 XML 生成が、線形拡張バッファを使用して、大きな個別文字列テーブルでの文字列全体のコピーの繰り返しを回避するようになりました
修正
- CSV 数式エクスポートが、数式テキストにすでに等号が含まれている場合に2つ目の等号を追加しなくなりました
- XLSX PDF エクスポートが、レイアウト前に文字数見積もりでセルテキストを切り詰めなくなりました
- XML リーダー名ハッシュが、処理命令、属性を追跡し、古い要素状態を公開せずに所有要素に戻るようになりました
バージョン 2.185.1
修正
- 行と列の挿入または削除が、関数名とテキストリテラルを保持しつつ、ローカルおよびシート間の数式参照を正確に1回調整するようになりました
バージョン 2.185.0
追加
TXLSPDFExportが、1 から始まるFirstPageとLastPageの出力選択、完全な論理PageCount、および PDF ページオブジェクトを構築せずに従来および XLSX の範囲、ワークシート、ワークブックのための6つのCalculatePageCountオーバーロードを提供するようになりましたTXLSXWorkbook.SaveWorkbookAsHTMLが、表示可能なワークシートを、シートごとの安定したアンカー、エスケープされたタイトルとシート名、および非表示または非常に非表示のシートを含めるオプションを持つ1つのナビゲート可能な HTML 文書として公開しますTDataToXLS.BeforeRecordが行出力の前にレコードをスキップでき、BeforeValueがデータセット、詳細レベル、ソースフィールド、およびエクスポート列コンテキストとともにフィールド値を変換または抑制できますTXLSWorkbookViewerが、選択されたセルのコメントとハイパーリンクを公開し、アプリケーション制御のハイパーリンクイベントを発生させ、コメントインジケータと XLSX フォント、塗りつぶし、配置を描画し、結合された範囲全体で選択とレンダリングを正規化します
変更
- ConversionWorkbench サンプルが PDF 出力を生成できるようになり、HTML ターゲットのためにすべての表示可能な XLSX ワークシートを公開し、同時に WorkbookViewer サンプルが結合セルナビゲーション、コメント、およびハイパーリンク起動をデモンストレーションします
バージョン 2.184.0
追加
- 従来の XLS および XLSX 範囲が、
CopyToClipboardを介して Unicode の表形式テキストとスタイル付き HTML を Windows クリップボードにコピーでき、数式、結合セル、リンク、表示形式、および安全にエスケープされた埋め込みタブ、改行、引用符を保持します TXLSXWorkbookが、未知のパッケージルート、ワークブック、ワークシート、または描画リレーションシップから到達可能なカスタムパッケージパーツを保持するようになりました。これには、リレーションシップ ID の衝突処理、コンテンツタイプ、子リレーションシップ、圧縮の選択、および正確なペイロードバイトが含まれます。PreserveUnsupportedParts、UnsupportedPartCount、UnsupportedPartBytes、ClearUnsupportedPartsが制御と診断を公開します- 従来の XLS 保存が、
OnProgressExを介してキャンセル付きの開始、作業、終了コールバックを公開し、同時にIXLSWorkbookProgressが安定したコード、重要度、操作、シートコンテキスト、ネイティブ戻り値、例外詳細を持つ構造化診断を提供します TXLSXWorkbookが、保存、オープン、再計算、キャンセル、および例外報告のために同じ構造化されたDiagnostics、LastDiagnostic、OnDiagnosticサーフェスを公開するようになりました- 解析された VBA モジュールが、ストリームプレフィックスと未触のプロジェクトコンテンツを保持しつつ、
SourceCodeの編集と、従来の XLS、スタンドアロン VBA ストレージ、およびマクロ対応 OOXML 保存を介した更新された圧縮モジュールストリームの書き戻しをサポートするようになりました - 従来のワークシートとシェイプコレクションが、作成ヘルパー、ラベル、制御種類検査、セルアンカー、削除、およびオープン/保存の検出を持つ型付き
TXLSCheckBox、TXLSComboBox、TXLSListBoxフォームコントロールを公開するようになりました TXLSXRange.ApplyFormatPatchが、ソースパターンのタイル状配置でフォント、塗りつぶし、罫線、表示形式、配置、保護コンポーネントを選択的にコピーでき、宛先の値と選択されていない書式を保持しますTDataToXLSが、ReadDetailTablesとIndentDetailTablesを介してリンクされたマスター-詳細データセットを再帰的にエクスポートでき、アクティブなデータリンクを保持し、各詳細テーブルをマスターレコードの下に追加し、すべてのレベルでフィールド、タイトル、書式設定オプションを継承しますTXLSXWorksheet.AddWordArtが、プリセットワープに加えて設定可能なテキストとアウトライン色を持つ、セルアンカーの DrawingML テキストを作成し、生の描画アンカー保持パスが後のオープン/保存サイクルで完全なワードアートシェイプを保持しますTXLSWorkbookViewerが、従来およびモダンなワークブックオブジェクトのための VCL ワークシートビューアを追加し、XLS、XLSX、XLSM、テンプレート、ODS ファイルの読み込み、書式設定されたセルテキスト、従来のスタイル、行と列のサイズ設定、ヘッダー、グリッド線と選択のレンダリング、スクロールバー、マウス選択、キーボードナビゲーション、セルの配置、ワークシートの切り替え、選択またはワークシートイベントを持ちます- 新しい Delphi の
FeatureShowcaseとWorkbookViewerのサンプルが、スタイル付き PDF 印刷、印刷タイトル、手動改ページ、従来のフォームコントロール、選択的書式パッチ、ワードアート、診断、実行時ビューア作成、ファイルの読み込み、セルナビゲーション、ワークシートの切り替え、ビューアイベントをデモンストレーションし、対応する英語ガイドと開発者リファレンストピックを持ちます
変更
- 従来の XLS およびモダンな XLSX のワークブック、ワークシート、範囲の PDF エクスポートが、すべての表示可能なワークシートを1つの文書に書き込み、非表示およびチャートシートをスキップし、単色塗りつぶし、フォント色、フォントサイズ、太字と斜体の強調、水平と垂直配置、明示的なセル罫線、オプションのワークシートグリッド線をレンダリングし、各ワークシートの印刷範囲、用紙サイズ、向き、マージン、ズーム、幅に合わせ設定、列幅、実際の行の高さ、手動の行と列のページ分割、繰り返されるタイトルの行と列、ページ、総ページ数、シート名、日付、時刻フィールドを持つ3部構成のヘッダーとフッターに従い、両方の軸にわたって広くて背の高い範囲をページ分割し、ロケール非依存の PDF 数値構文を出力し、WinAnsi 外のテキストのために適格な TrueType フォントと ToUnicode マップを埋め込みます
- XLSX 拡張進行コールバックが、保存、オープン、再計算のために信頼できる開始、作業、終了状態を受け取るようになり、同時に従来のコールバックは作業のみのままで、すべての操作が以前のキャンセル状態をリセットします
- 従来の XLS シリアライズが、成功を報告する代わりにワークシート、チャート、スタイル拡張、VBA、制御ストリーム、ストレージ、出力コミットの失敗を伝達するようになり、ファイル保存が宛先を原子的に置き換える前に完全な複合ファイルをステージングします
- XLSX と ODS ファイル保存が、完全な兄弟の一時パッケージを構築し、正常な最終化後にのみ宛先を原子的に置き換え、キャンセルまたは失敗後に既存のファイルを変更せずに残すようになりました
バージョン 2.183.0
追加
TXLSDirectWriterが、ワークシート行をバッファリングせずに再利用可能なパッケージレベルのセルスタイルハンドルとスタイルクローンをサポートするようになりました。同じスタイルインデックスを任意の数のセルに適用するか、ワークシート全体で再利用できます- 直接セルスタイルが、フォント名、サイズ、BGR 色、太字、斜体、取り消し線、アウトライン、影、5つの下線モード、前景/背景色を持つ19の塗りつぶしパターン、14の線種と対角線方向を持つ5つの独立して着色された罫線エッジ、組み込みまたはカスタムの表示形式、水平と垂直配置、折り返し、縮小して合わせる、インデント、テキスト回転、引用符プレフィックス、ロック/非表示保護にわたる30の書式設定機能を提供します
- 文字列、数値、ブール値、日付、数式、エラー、およびすべてのキャッシュされた数式結果型のためのスタイル付きオーバーロードが利用可能で、大量のエクスポーターが逐次書き込み中に整数インデックスで事前構築されたスタイルを選択できます
変更
- 直接ライターが、
styles.xmlを構築する際に等価なフォント、塗りつぶし、罫線、表示形式コンポーネントを重複排除し、同時にワークシートストリームにすでに書き込まれた安定したセルスタイルインデックスを保持します - 生成された直接ライターのスタイルテーブルが、より厳密な OOXML 互換性のためにカスタム塗りつぶしの前に標準の
noneとgray125デフォルト塗りつぶしを含むようになりました
バージョン 2.182.0
追加
TXLSDirectWriterが、行数に依存しないメモリプロファイルを保持しつつ条件付き書式を書き込むようになりました。8つのセル値演算子、式ルール、含む/含まない/で始まる/で終わるテキストルール、上位/下位の値とパーセンテージルール、平均より上/下ルール、重複および一意の値、空白および非空白セル、エラーおよび非エラーセル、データバー、2色および3色スケール、すべての17のベースラインアイコンセットファミリーを含みます- 直接条件付き書式ルールが、明示的な優先度、true で停止評価、平均標準偏差と等価性オプション、アイコンしきい値置換、アイコンのみと反転表示、データバー値の表示、BGR 色、および差分塗りつぶし、フォント色、太字、斜体スタイルをサポートします
変更
- 直接ライターが、ワークシート全体で等価な差分スタイルを重複排除し、条件付き書式ルールとスタイルのみを保存するため、メモリ使用量はワークシート行数ではなくルール数に応じてスケールします
- 自動データバーの最小および最大しきい値種別が、幅広いスプレッドシート互換性のためにベース OOXML 要素の標準
minとmaxトークンに正規化されます
バージョン 2.181.0
追加
TXLSDirectWriterが、ワークシートデータをバッファリングせずにワークシートとワークブック保護を書き込むようになりました。15のきめ細かいワークシート権限、従来のパスワード検証子、モダンなハッシュメタデータ、オプションのパスワードまたはセキュリティ記述子を持つ編集可能な保護範囲、ワークブック構造とウィンドウロック、生の検証子割り当て、および保護のクリアを含みます
修正
- 未サポートの描画アンカーが、ラウンドトリップ出力のために再構築される際にすべての終了要素を保持するようになり、シェイプのみの描画がオープンと保存の後も整形式のままになります
- XLSX ワークシート保護権限が OOXML のロックフラグ定義に従うようになり、許可されたアクションは
0を書き込み、禁止されたアクションは1を書き込み、省略された属性はスキーマデフォルトで再オープンされます - 従来の XLSX ワークシート、保護範囲、ワークブックパスワードが、ANSI 変換と15バイト制限を持つ Excel 互換の16ビット検証子アルゴリズムを使用するようになりました
バージョン 2.180.0
追加
- XLSX ワークシートモデルが、What-If シナリオマネージャー(
<scenarios>)とデータ統合(<dataConsolidate>)要素をラウンドトリップするようになりました。TXLSXWorksheetの新しいScenariosXmlとConsolidateXmlの生 XML プロパティが内部コンテンツをそのまま運びます — ライターがラッパー要素を出力し、リーダーがシナリオ/データ統合の子を解析し直します。シナリオや統合定義を定義する金融モデリングファイルがラウンドトリップでそれらを失わなくなりました
バージョン 2.179.0
追加
- 新しい
XlsxBuildNumFmtヘルパー関数が、意味的プロパティ —Decimals、Thousands(区切り)、NegativeRed(赤の負数)、CurrencySymbol、Percent— から OOXML 表示形式コードを構築します。呼び出し元は"$#,##0.00;[Red]-$#,##0.00"のような書式文字列を手書きする必要がなくなり、ビルダーが単純なパラメータからそれらを生成します。Cell.NumberFormatやWorkbook.NumberFormats.Addとともに使用するために設計されています
バージョン 2.178.0
追加
- XLSX ワークシートモデルが、VBA コード名(
<sheetPr codeName="..."/>)をラウンドトリップするようになりました。これは VBA プロジェクトがコード名でワークシートを参照する VBA 相互運用に不可欠です。TXLSXWorksheetの新しいCodeNameプロパティ - コメントが
TXLSXCommentでAlwaysShow表示切り替えをサポートするようになりました — True の場合、コメントバルーンはホバー時だけでなく常に表示されます(Excel のコメントごとの「コメントの表示/非表示」切り替え) - データ検証が
TXLSXDataValidationで IME モード属性(imeMode)をラウンドトリップするようになりました。11値の列挙型はセルに入力するときの CJK 入力メソッドの動作を制御します(noControl / off / on / hiragana / fullKatakana / 等)。日本語/韓国語/中国語ロケールのファイルに不可欠です - ワークシートモデルが、既存の凍結モード処理を超えて
<pane>のペイン状態属性のためのPaneStateプロパティを持ちます —frozenSplit(凍結-then-スクロール可能)とsplit状態をサポートします
バージョン 2.177.0
追加
- 以前登録されていたが未実装だった3つのワークシート関数が完全なディスパッチを持つようになりました:
DOLLAR(通貨書式テキスト)、FIXED(オプションのカンマ抑制を持つ固定小数テキスト)、AREAS(参照内の領域数)。以前はこれらはInitFuncHashに登録されていましたが計算エンジンのケースがなく、=DOLLAR(...)を評価すると暗黙的に誤った結果を返していました - XLSX ワークシートモデルが、ビュー種別ごとのズームスケール(
zoomScaleNormal/zoomScalePageLayoutView/zoomScaleSheetLayoutView)、グリッド線色(sheetView color)、シートビュー表示フラグ(showFormulas/showZeros)をラウンドトリップするようになりました。TXLSXWorksheetの新しいプロパティ:ZoomNormal、ZoomPageLayout、ZoomSheetLayout、GridColor、ShowFormulas、ShowZeros - アウトラインサマリー方向がラウンドトリップされるようになりました。
TXLSXWorksheetの新しいSummaryBelow、SummaryRight、ShowOutlineSymbolsプロパティが、サマリー行/列が詳細の下/右に表示されるかどうか、およびアウトラインシンボルが表示されるかどうかを制御します。ライターは<sheetPr>内に<outlinePr>を出力し、リーダーはそれを解析し直します - ワークブックの calcPr が、既存の
calcId/fullCalcOnLoad/calcMode/iterateの trio に加えてforceFullCalcとcalcCompleted属性を運ぶようになりました
バージョン 2.176.0
追加
- XLSX 数式エンジンが、コンパイル前に構造化テーブル参照を解決するようになりました。
TXLSXWorkbookの新しいResolveStructuredRefsメソッドが、数式テキスト内のTableName[ColumnSpec]パターンをスキャンし、ワークブックのTXLSXTableコレクションを使用して具体的な A1 範囲参照に置き換えます。サポートされる仕様には、列データ範囲(Sales[Qty])、現在行の列(Sales[@Total])、完全データ(Sales[#Data]/Sales[#All])、ヘッダー(Sales[#Headers])、合計行(Sales[#Totals])が含まれます。解決はGetCompiledFormula内で自動的に実行されます — テーブル以外の識別子はそのまま残されるため、既存の数式は影響を受けません。以前は構造化参照により数式コンパイルが失敗していました
バージョン 2.175.0
追加
- 数式エンジンが R1C1 参照スタイルの数式コンパイルをサポートするようになりました。
TXLSCalculatorの新しいGetCompiledFormulaR1C1メソッド(およびTXLSFormulaのGetCompiledR1C1)が、R1C1 表記(絶対の場合はR2C3、相対の場合はR[-1]C[2]、現在のセルの場合はRC)で書かれた数式を受け取り、数式セルの行/列を使用して最初に A1 表記に変換することでコンパイルします。スタンドアロンのR1C1ToA1関数が変換を実行します — (ROUND のような関数名の一部ではなく)スタンドアロンであるR/Cマーカーを検出し、オプションのかっこ付きオフセットを解析し、等価な A1 参照を生成します。文字列リテラルと識別子はスキップされます。以前は A1 スタイルの数式のみがコンパイルできました
バージョン 2.174.0
追加
TXLSDirectWriterの AutoFilter 出力が、XLSX ファイルをストリーミングしながら、ワークシートおよびテーブルフィルタ列、値フィルタ、空白フィルタ、日付グループフィルタ、カスタム比較フィルタ、動的フィルタ、上位/下位フィルタ、フィルタボタンフラグ、ソート状態、ソート条件、XML エスケープ、および重複するワークシート/テーブルフィルタ範囲の抑制をサポートするようになりました
バージョン 2.173.0
追加
TXLSDirectWriterのテーブル出力が、XLSX ファイルをストリーミングしながら、テーブルコメント、合計行カウント、列の合計行ラベル、列の合計行関数、計算列数式、合計行数式、テーブル列メタデータのための XML エスケープをサポートするようになりました
バージョン 2.172.0
追加
TXLSDirectWriterが、完全なワークブックオブジェクトモデルを構築せずに、XLSX ファイルをストリーミングしながら Excel テーブルパーツを書き込むようになりました。ワークシートテーブルリレーションシップ、テーブルパーツコンテンツタイプ、テーブル範囲、列名、ヘッダー行と合計行フラグ、組み込みテーブルスタイル表示フラグを含みます
バージョン 2.171.0
追加
TXLSDirectWriterが、完全なワークブックオブジェクトモデルを構築せずに、XLSX ファイルをストリーミングしながらワークシートデータ検証を書き込むようになりました。リスト、整数、小数、日付、時刻、テキスト長、カスタム数式、任意のsqref、プロンプト、エラーアラート、空白許可、ドロップダウン、入力/エラーメッセージフラグを含みます
バージョン 2.170.0
追加
TXLSDirectWriterが、完全なワークブックオブジェクトモデルを構築せずに、XLSX ファイルをストリーミングしながらワークブックおよびシートローカルの定義名を書き込むようになりました。非表示の名前、コメント、生成された絶対範囲、印刷範囲、印刷タイトル行、印刷タイトル列、結合された印刷タイトル、引用符で囲まれたシート名参照、XML エスケープ、および繰り返される印刷名セッターの置換セマンティクスを含みます
バージョン 2.169.0
追加
TXLSDirectWriterが、完全なワークブックオブジェクトモデルを構築せずに、XLSX ファイルをストリーミングしながらワークシートハイパーリンクを書き込むようになりました。外部 URL、mailto、ファイルリレーションシップ、内部シート位置、表示テキスト、ツールチップ、単一セルまたは複数セルのハイパーリンク範囲、裸のwww.URL 正規化、XML エスケープ、パーセントエンコードされたリレーションシップターゲットを含みます
バージョン 2.168.0
追加
TXLSDirectWriterが、完全なワークブックオブジェクトモデルを構築せずに、XLSX ファイルをストリーミングしながら印刷およびシートビューメタデータを書き込むようになりました。グリッド線と行/列ヘッダー表示切り替え、ページマージン、奇数ヘッダー/フッターテキスト、印刷グリッド線と見出し、ページ中央揃え、用紙サイズと横向き、ページに合わせ寸法、手動の行または列のページ分割を含みます
バージョン 2.167.0
追加
TXLSDirectWriterが、完全なワークブックオブジェクトモデルを構築せずに、XLSX ファイルをストリーミングしながらワークシートレイアウトメタデータを書き込むようになりました。デフォルトの列と行のサイズ、カスタム列幅、非表示の行と列、結合された範囲、AutoFilter 範囲、固定ペイン、シートタブ色、右から左へのシートビューを含みます
バージョン 2.166.0
追加
- ストリーミング XLSX ワークフローが、ワークシートスキャンなしのシート名一覧、名前に基づく行カーソルシート選択、生の数値日付ストリーミング、直接ライター再利用、エラーセル書き込み、および数値、文字列、ブール値、日付、エラー値のためのキャッシュされた数式結果ライターを含むようになりました
バージョン 2.165.0
修正
TXLSDirectReader.ReadStreamが、直接スキャン後に呼び出し元のストリーム位置を復元するようになり、文書化されたストリーム契約に一致し、アプリケーションが直接読み取りパス後に同じストリームを再利用できるようになります
バージョン 2.164.0
追加
TDataToXLSデータセットエクスポートが、IncludeFieldsとExcludeFields文字列リストをサポートするようになりました。アプリケーションはエクスポートされるフィールドをホワイトリストに登録し、機密性の高い列を省略し、ヘッダー、データ行、列幅、エクスポートコールバックを選択されたフィールドセットに合わせて維持できます
バージョン 2.163.0
追加
- CSV エクスポートが、XLS および XLSX エンジン全体で設定可能なテキスト引用を獲得しました。
TXLSWorkbookがCSVEmitFormulasとCSVQuoteAllStringsを公開し、TXLSXWorkbookがCSVQuoteAllStringsを追加します。有効な場合、数式エクスポートは数式テキストを書き込み、文字列フィールドは引用されますが、数値、日付、ブール値、Null、Empty フィールドは通常の引用ルールを維持します
バージョン 2.162.0
追加
- XLSX エンジンが中止可能な進行イベントシステムを獲得しました。
TXLSXWorkbookの新しいOnProgressExコールバックが、既存のOnProgressとともに3つの拡張で発生します:(1)TXLSXProgressStateパラメータ(ppsBegin/ppsWork/ppsEnd)が各フェーズを囲むため、UI は操作の開始と終了を把握できます。(2)Abort: Booleanvar パラメータがコールバックにストリーム途中で現在の操作をキャンセルできるようにします — 読み取り/書き込み/計算ループはWorkbook.Abortedをチェックし、きれいに抜け出します。(3) エクスポート操作(HTML/RTF/CSV/ODS)のための新しいxlsxProgressExportingフェーズ。FireProgressヘルパーメソッドがデュアルコールバックディスパッチを一元化します。FAbortedフラグは各トップレベル操作(Open / SaveAs / Recalculate)の開始時にリセットされます
バージョン 2.161.0
追加
- XLSX チャートモデルが、より強力な Excel 互換性のために4つの新しいチャート要素をサポートするようになりました。チャートデータテーブル(
c:dTable):TXLSXChartがShowDataTable+ShowDataTableKeys切り替えを獲得します — 有効な場合、ライターがプロットエリア内にデータテーブル要素を出力し、Excel がチャート軸の下にグリッドとしてソースデータをレンダリングします。アップ/ダウンバープラスハイローライン(株価/OHLC チャート要素):TXLSXChartがHasUpDownBars+UpDownGapWidthとHasHiLowLinesを獲得します — ライターがチャート要素内に(折れ線/株価チャートで)c:upDownBarsとc:hiLowLinesを出力します。3D ビューコントロール:TXLSXChartがRotation3DX/Rotation3DY/Elevation3D/Perspective3D/RightAngleAxes3Dを獲得します — いずれかの3Dプロパティがデフォルトと異なる場合、ライターがチャートレベルでc:view3Dを出力します。以前はこれらの要素はいずれも出力されなかったため、データテーブル、株価チャート要素、または3Dビューで構築されたチャートはラウンドトリップでそれらを失っていました
バージョン 2.160.0
追加
- XLSX エンジンで行または列が挿入または削除されたときに、数式参照が自動的に調整されるようになりました。
InsertRows/DeleteRows/InsertCols/DeleteColsによって呼び出されるShiftSheetGeometryメソッドが、すべての生存数式セルを走査し、構造変更を反映するためにその A1 参照を書き直すようになりました。新しいXlsxAdjustFormulaRowColRefsテキストスキャナーが単一セル参照(A1、$B$2)と範囲参照(A1:B3)を検出し、挿入ポイントを越えて行/列コンポーネントをシフトし、削除された参照を#REF!に変換します。相対参照と絶対参照の両方がシフトされます(Excel の動作に一致)。以前は構造編集の後、数式が間違ったセルを指したままになっていました
バージョン 2.159.0
追加
- オートフィルタのソート状態が XLSX エンジンを通じてラウンドトリップするようになりました。
TXLSXWorksheetがSortStateXmlプロパティを獲得し、OOXML の<sortState>要素の生の内部 XML(列ソート方向、大文字小文字の区別、ソートメソッド、降順フラグ+refを持つ各<sortCondition>)を運びます。ライターは<autoFilter>の後に要素を出力し、リーダーは属性とソート条件を解析し直します。以前はソート状態は読み取り時に暗黙的にドロップされ、書き込まれることはありませんでした - CJK ふりがな/ルビー設定が XLSX エンジンを通じてラウンドトリップするようになりました。
TXLSXWorksheetがPhoneticFontId、PhoneticType(hiragana / katakana / fullWidthKatakana / noConversion)、PhoneticAlignment(left / center / distributed)を獲得します。ライターは<sheetData>の後に<phoneticPr>を出力し、リーダーは属性を解析し直します。以前はふりがな要素は読み取り時に暗黙的にドロップされていました — 日本市場のファイルがふりがな読み支援設定を失っていました
バージョン 2.158.0
追加
- XLSX エンジンが名前付きセルスタイルテーブル(
<cellStyles>)をラウンドトリップするようになりました。TXLSXWorkbookの新しいTXLSXNamedStyleクラス +TXLSXNamedStylesコレクションが完全なサーフェスを運びます:Name、XfId、BuiltInId、CustomBuiltIn、Hidden、BuiltinLevel。コレクションが空でない場合、ライターはエントリごとに1つの<cellStyle>を出力し、リーダーはそれらを解析し直します。以前はライターは単一の"Normal"エントリをハードコードし、リーダーはすべての名前付きスタイルを破棄していたため、"Good"/"Bad"/"Total"/カスタム名付きスタイルを持つファイルはラウンドトリップでそれらの名前を失っていました
バージョン 2.157.0
追加
- XLSX エンジンが、反復計算の切り替えだけでなく、完全な
<calcPr>要素をラウンドトリップするようになりました。TXLSXWorkbookがCalcId(キャッシュされた値が古いかを Excel が判断するために使用する計算エンジン識別子)、FullCalcOnLoad(オープン時にフル再計算を強制 — 非 Excel エンジンで生成されたワークブックに不可欠)、CalcMode(auto / manual / autoNoTable)を獲得します。ライターは<calcPr>にマッチする属性を出力し、リーダーはそれらを解析し直します。以前はiterate/iterateCount/iterateDeltaのみが処理され、残りは暗黙的にドロップされていました
バージョン 2.156.0
追加
- 数式評価器が、以前は登録されていた(InitFuncHash で ptg 割り当て済み)がディスパッチ実装がなく、
#NAME?にフォールスルーしていた37のワークシート関数を実装するようになりました。新しい実装は5つの関数ファミリーにわたります:回帰(FORECAST、LINEST、TREND、GROWTH、LOGEST、CORREL、PEARSON、SLOPE、INTERCEPT、RSQ、STEYX)、減価償却(SLN、SYD、DB、DDB、VDB)、記述統計(AVEDEV、DEVSQ、KURT、SKEW、GEOMEAN、HARMEAN、TRIMMEAN、FREQUENCY)、配列ペアワイズ(SUMXMY2、SUMX2MY2、SUMX2PY2)、組合せ/数学(COMBIN、PERMUT、FACT、QUOTIENT、ROMAN、DEGREES、RADIANS、STANDARDIZE)。回帰関数は最小二乗ソルバーを使用し、減価償却関数は定額法、年数合計法、定率法を実装し、記述統計関数は平均絶対偏差、尖度、歪度、幾何/調和/トリム平均を計算し、ペアワイズ関数は同じサイズの2つの範囲間の差の二乗和を計算します。TXLSCalculatorの新しいCollectRangeValuesヘルパーが統計関数のために範囲引数から数値を抽出します
バージョン 2.155.0
追加
- 数式評価器が5つの追加の統計およびエンジニアリング互換名をサポートするようになりました:
ERFC、ERFC.PRECISE、BINOM.INV、CHI.INV.RT、F.TEST。ERFCは既存の誤差関数級数を補完し、BINOM.INVは二項 CDF しきい値を検索し、CHI.INV.RTは右裾カイ二乗逆のエイリアス、F.TESTは両裾サンプル分散 p 値を返します
バージョン 2.154.0
追加
- 数式評価器が、
TXLSCalculatorの新しいOnGetExternalValueコールバックを介してワークブック間参照を解決するようになりました。3D 範囲参照が外部ワークブック([1]Sheet1!A1)を指す場合、評価器は#REF!を返す代わりにコールバックを経由します。XLSX エンジンはこのコールバックをGetExternalCellValueに接続し、SupBook インデックス+シートインデックスをマッチするTXLSXExternalLinkの<sheetDataSet>キャッシュにマップし、OOXML 型属性(数値/ブール値/文字列/エラー)でキャッシュされたセル値を復号します。以前はワークブック間数式は無条件に#REF!を返していました。コールバックインフラにより、任意のエンジン(BIFF8、XLSX、またはカスタム計算ホスト)が外部値を供給できるようになりました - 数式評価器が二項演算子(
+/-/*///^)で要素ごとの配列ブロードキャストを実行するようになりました。いずれかのオペランドが1Dまたは2Dバリアント配列(例:行列関数の結果、スピルした範囲、CSE 配列オペランド)の場合、演算子が要素ごとに適用され、スカラーオペランドは配列オペランドのすべての要素にブロードキャストされます。新しいApplyArrayBinaryOpヘルパーが形状検証、スカラーブロードキャスト、ゼロ除算伝播を処理します。従来のスカラー演算は変更されていません — 配列パスは少なくとも1つのオペランドがバリアント配列の場合にのみアクティブになります - 数式評価器が
TABLE関数(What-If 分析データテーブル)を認識するようになりました。Excel はデータテーブルを本体がTABLE(rowRef, colRef)の CSE 配列数式として保存します。以前はTABLEは認識されず#NAME?にフォールスルーしていました。関数は合成 ptg(ftabTABLE = 4232)で登録され、BIFF8 数式エンコーディングを通じてラウンドトリップし、評価時にはプレースホルダ値(0)を返します — 実際の結果は Excel によって事前計算されキャッシュされたセル値として保存されるため、HotXLS は代入ロジックを再評価しません
バージョン 2.153.0
追加
- ピボットテーブルの型付きモデルが、ページ軸の型付きプロパティ(Hier / Caption / Name)、自動ソートスコープ、およびより完全な Excel 互換性のために必要な
<formats>と<extLst>の生 XML ラウンドトリップフックを運ぶようになりました。TXLSPivotFieldはPageHier/PageCaption/PageName(F16 — OLAP 階層名+ページ軸キャプション+表示名)とAutoSortScope(F20 — Excel がフィールドのアイテムを自動ソートするために使用するセルを固定する A1 範囲参照)を獲得し、TXLSPivotTableはFormatsXml/ExtLstXml(F17 —<formats>CF/表示形式オーバーライドブロックとスライサー/タイムライン/x14ブロックのための<extLst>の生内部 XML ラウンドトリップ、設定時にそのまま出力されるため、エンジンバージョンをまたいでもラウンドトリップが安全)を獲得します。XLSX ライターはマッチする<pageField hier=... cap=... name=.../>属性、<pivotField>の<autoSortScope>子、および閉じ番兵の前の<formats>+<extLst>ブロックを出力します - 数式トレーサーがステップごとのオペランドスタックスナップショットを記録し、真のステップスルー「数式の評価」デバッガを可能にするようになりました。
TXLSFormulaStepはStepKind(push / reduce / function)、StackBefore/StackAfter(各ステップの開始/終了時のオペランドスタックのカンマ区切りスナップショット)、TokenStart/TokenEnd(ステップをソース数式に固定する1から始まる文字スパン)を獲得します。TXLSFormulaTracerはTraceReversed(最終結果から元のオペランドに向かって歩くステップバック UI に便利な、評価順序を逆にした同じステップを返す)とStepCountプロパティを獲得します。以前はトレーサーは Depth / Source / Expression / Value のみを記録し、スタック状態はありませんでした - HTML エクスポートが、
TXLSHTMLExportの新しいOnCellImageコールバックと新しいxhImagesオプションを介してセルごとの画像を埋め込むようになりました。オプションが設定されコールバックが接続されている場合、エクスポーターは各セルの<img>フラグメント(通常は Base64 data-URI)を実装者に問い合わせ、セルテキストの後にそれを追加します。これにより、エクスポーターは XLS エンジンの BIFF8 画像ストレージ(シートごとの MsoDrawing レコードに存在)から切り離され、エクスポーターがアンカーを自分で解析する必要がなくなります。XLSX エンジンの HTML エクスポートはすでに画像を埋め込んでいました。これにより XLS エンジンのギャップが埋められます - RTF インポートが、RTF 制御ワードから宛先セルのフォントに文字プロパティ(太字/斜体/下線/取り消し線/サイズ)を適用するようになりました。
TXLSRTFImportが文書全体にわたって\b/\i/\ul/\strike/\fsを追跡し、コミット時に支配的なランの書式設定をセルの XF にプッシュします。新しいImportCharFormatプロパティ(デフォルト True)が動作を切り替えます。従来のテキストのみのインポートを復元するには False に設定します。複数ランのセルは単一の XF に折りたたまれます(最後のアクティブランが優先)。XLS エンジンのセル API はフラグメントごとではなくセルレベルであるためです — しかしこれは、従来のインポーターが行っていたすべての書式設定をドロップするよりはるかに優れています - 新しい
TXLSHTMLImportクラスが HTML テーブルをワークシートセルに解析します。ソースの最初の<table>を走査し、<tr>ごとに1つのワークシート行、<td>/<th>ごとに1つのセルを出力します。colspan/rowspan(Excel スタイルの結合)を考慮し、セル内のタグを除去(ネストされた書式設定をプレーンテキストに折りたたむ)、5つの標準文字エンティティ(&/</>/"/'/ )と数値&#NNN;/&#xNN;形式を復号し、インポートされたテーブルが計算可能なままになるようにきれいな数値文字列を Double に強制変換します。HotXLS 自身が生成する出力(SaveAsHTML)と一般的なコピーペースト品質の HTML テーブル用に設計されています。完全な HTML5 パーサーではありません
バージョン 2.152.0
追加
- XLSX テーブルが列レベルの合計メタデータとテーブル数式を保持するようになりました。
TXLSXTableはColumnTotalsRowFunctions[]、ColumnTotalsRowLabels[]、ColumnCalculatedColumnFormulas[]、ColumnTotalsRowFormulas[]を公開し、SaveAsはマッチするtotalsRowFunction、totalsRowLabel、calculatedColumnFormula、totalsRowFormulaテーブル列 XML を出力し、Openはそれらを読み戻し、テーブルの複製はそれらを保持します
バージョン 2.151.0
追加
- ピボットテーブルの型付きモデルが、フィールドごとのフィルタコレクション、複数選択切り替え、fieldGroup discretePr + groupItems サーフェス、およびより完全なピボットテーブル互換性のために必要な計算アイテム/計算メンバーモデルを運ぶようになりました。
TXLSPivotFieldは型付きTXLSPivotFiltersコレクション(各エントリは80メンバーの OOXMLST_FilterType列挙型にわたるFilterType— count / percent / sum / caption / value / date ファミリー — とValue1/Value2/StrValue1/StrValue2、EvalOrder、DataField、MemberPropertyId、Name、Descriptionを運ぶ)、MultipleItemSelectionAllowed切り替え(F9)、TXLSPivotCalculatedItemコレクション(F14)を獲得します。TXLSPivotCacheFieldは fieldGroup discretePr + groupItems ブロック(F13)のためにDiscreteIndices[]+AddDiscreteIndexとGroupItemLabels[]+AddGroupItemを獲得します。TXLSPivotTableはTXLSPivotCalculatedMemberコレクション(F14)を獲得します。XLSX ライターはマッチする<pivotField multipleItemSelectionAllowed="1">、フィールドごとの<filters><filter .../>ブロック、<fieldGroup><discretePr>...</discretePr><groupItems>...</groupItems></fieldGroup>要素、フィールドごとの<calculatedItems>ブロック、テーブルレベルの<calculatedMembers>ブロックを出力するため、フィルター/複数選択/グループ化/計算アイテムを持つプログラムで構築されたピボットがラウンドトリップします
バージョン 2.150.0
追加
- 定義名が、参照するワークシートが削除または名前変更されたときに数式テキストを有効なまま保持するようになりました。シートを削除すると、定義名の数式内のすべての
SheetN!修飾子が#REF!に書き換えられ(Excel の動作に一致)、シートの名前を変更すると修飾子が新しい名前に書き換えられます。以前は数式テキストが存在しないシート名を指したままであり、Excel は再オープン時にそれを壊れたリンクとしてフラグしていました - ピボットテーブルの型付きモデルが、フィールドレベルのソート順序とレイアウト切り替え、およびより完全なピボットテーブルレイアウト互換性のために必要なテーブルレベルのレイアウト/表示属性を運ぶようになりました。
TXLSPivotFieldはSortType(manual / ascending / descending)、Compact、Outline、SubtotalTop、DragToRow/DragToCol/DragToPage/DragToData、ShowAll、InsertBlankRow、NumFmtIdを獲得し、TXLSPivotTableはCompact/CompactData/Outline/OutlineData/Indent/ShowEmptyRow/ShowEmptyCol/ShowHeaders/ShowDrill/EnableDrill/FieldListSortAscending/GridDropZonesに加えてRowHeaderCaption/ColHeaderCaption/ErrorCaption/MissingCaption/ShowError/ShowMissingとページ軸レイアウトペアRowPageCount/ColPageCountを獲得します。XLSX ライターはマッチする<pivotField sortType=... compact=... outline=...>と<pivotTableDefinition indent=... outline=... showEmptyRow=...>属性および<location rowPageCount=... colPageCount=.../>要素を出力するため、プログラムで構築されたピボットは Excel のデフォルトの代わりにユーザー設定のレイアウトを運びます TXLSWorkbookの新しいFormulaIsVolatileメソッドが、数式が毎回の計算パスで再計算を強制するかどうか — すなわち揮発性関数(NOW / RAND / TODAY / OFFSET / INDIRECT)を呼び出すか、解決不可能な参照を持つか — を報告します。プローブは再計算エンジンが使用するのと同じ依存関係抽出器を共有するため、答えはRecalculateが実際に行うことと一致します。呼び出し元はそれを使用して検証 UI のためにセルにフラグを立て、真新しいワークブックで計算チェーンの揮発性セットにデータを入力し、新しく入力された数式の結果のキャッシュをスキップできます
バージョン 2.149.0
追加
- ピボットテーブルキャッシュが、ソース範囲からプログラムでリフレッシュできるようになりました。
TXLSXWorkbookの新しいRefreshPivotCache(ACacheId)メソッドがキャッシュのソース範囲を再スキャンし、フィールドごとに共有アイテムドメインを再構築し(値を再重複排除し、型ごとの境界を再導出)、レコードごとのアイテムインデックスを書き直します。以前は HotXLS はハードコードされたrefreshOnLoad="1"フラグに依存し、すべてのリフレッシュ作業を次回オープン時の Excel に延期していました。プログラムパイプラインはプロセス内でリフレッシュできるようになりました
バージョン 2.148.0
追加
- XLSX エンジンの
InsertColsが、左の隣接セルから列幅を継承するようになり、「列の挿入」の Excel のデフォルト動作に一致します。以前は挿入された列はワークブックのデフォルト幅を取得し、再オープン後に目に見える忠実性のギャップを生じていました - XLSX エンジンが
TXLSXWorksheetの便利なアウトライン折りたたみヘルパーToggleColGrouped/ToggleRowGroupedを獲得し、アウトラインツリーを走査して指定レベルのグループを折りたたむか展開します。折りたたみフラグ自体はすでにラウンドトリップしていました。これにより木を走査する便利な API が追加されます
バージョン 2.147.0
追加
- HTML エクスポートが、内部ハイパーリンクターゲットであるセルに
<a name>アンカーを出力するようになり、読者がそれらをクリックしたときに#SubAddressハイパーリンクが正しく解決されます。以前はリンクは出力されていましたがターゲットにアンカーがなく、内部ジャンプは何も解決されませんでした - CSV エクスポートが
TXLSXWorkbookのCSVEmitFormulasプロパティを獲得しました。True の場合、数式セルは計算された値の代わりに数式テキスト(=SUM(A1:A2))をエクスポートします — デバッグや別のエンジンに再インポートするパイプラインに便利です - 外部ハイパーリンク URL が書き込み時にパーセントエンコードされるようになりました(
XlsxEncodeHyperlinkUrl):スペース、角かっこ、引用符、中かっこ、パイプ、バックスラッシュ、キャレット、バッククォートが<Relationship Target="..."/>属性内で%XXとしてエンコードされ、ファイルがすべてのブラウザで正しく開きます。既存のパーセントエンコードされたシーケンス(%20)はそのまま保持されます - ピボットテーブルスタイル情報が完全な
pivotTableStyleInfoサーフェスを運ぶようになりました:TXLSPivotTableのStyleName、ShowRowHeaders、ShowColHeaders、ShowRowStripes、ShowColStripes、ShowLastColumn。XLSX ライターはマッチする要素を出力し、プログラムで構築されたピボットがハードコードされたデフォルトの代わりにユーザーが選択した縞スタイルを運びます TXLSXWorkbookの新しいCalculateAndVerifyメソッドがすべての数式セルを再評価し、計算された結果をセルのキャッシュされた値と比較します。不一致のカウントを返します(0 = すべてのキャッシュ値がエンジンの新鮮な計算に一致、揮発性数式は除外)。エンジン間でワークブックを移植する際の QA や、ライターがキャッシュ値を破損していないことを検証するのに便利です
バージョン 2.146.0
追加
- XLSX エンジンが反復的な循環参照計算(Excel の反復計算モード)をサポートするようになりました。
TXLSXWorkbookの新しいIterate/IterateCount/IterateDeltaプロパティトリオが動作を制御します:Iterate=TrueでRecalculate中に参照サイクルが検出された場合、エンジンは#REF!を返す代わりに、サイクルメンバーセルを最大IterateCount回(デフォルト100)、またはすべてのセルの変更が< IterateDelta(デフォルト0.001)になるまで再評価します。設定は OOXML の<calcPr iterate="1" iterateCount="N" iterateDelta="X"/>要素を通じてラウンドトリップします。意図的な循環参照を持つ金融モデル(利子の利子、循環割り当て)はエラーにならずに収束するようになりました - ピボットテーブルキャッシュフィールドが、数値範囲および日付階層のグループ化のためのグループ化モデルを運ぶようになりました。
TXLSPivotCacheFieldはHasGroup+GroupStartNum/GroupEndNum/GroupInterval(数値範囲)とGroupByDate/GroupDays/GroupMonths/GroupQuarters/GroupYears/GroupHours/GroupMinutes/GroupSeconds/GroupStartDate/GroupEndDate(日付)を獲得します。XLSX ライターは<fieldGroup><rangePr groupBy="range|days|months|..."/>要素を出力し、グループ化されたフィールドを持つプログラムで構築されたピボットが Excel の出力に一致します - HTML エクスポートがコメントの文末脚注を出力するようになりました。
xhCommentsがエクスポートオプションにある場合、コメント付きセルは[n]上付きリンクを取得し、完全なコメントテキスト(作成者+本文)がセルへの戻りアンカーを持つ文末脚注セクションとしてテーブルの後にリストされます。以前はコメントはセルのtitle=属性経由でのみ利用可能であり、印刷やコピーペースト時には見えませんでした
バージョン 2.145.0
追加
- BIFF8 数式エラーリテラル(
tErrトークン)が、数式解析を失敗させる代わりに、型付きSA_ERROR構文アイテムに復号されるようになりました。=#N/Aを保存するセル(または7つの Excel エラー定数のいずれか)は以前は読み取り時に数式全体がドロップされていました。エラーバイトは読み取り→評価→書き込みを通じてラウンドトリップし、新しいXlsErrorToStringヘルパーを介してテキスト形式(#NULL!、#DIV/0!、#VALUE!、#REF!、#NAME?、#NUM!、#N/A)に再構築されます - BIFF8 の
tIsect $0Fトークン(暗黙的交差演算子)が、バイナリ数式トランスレータで復号し、@のためにテキストパーサーが生成するのと同じSA_ISECTノードを構築するようになりました。以前はtIsectを含むバイナリ数式は解析に失敗していました - データバーの条件付き書式が、モデルが非デフォルトの x14 フィールド(負の塗りつぶし色、グラデーションオフ、軸の色、方向、境界)を運ぶ場合、ワークシートの
extLstに Excel 2010+ のx14拡張ブロックを出力するようになりました。新しいBuildDataBarExtXmlが、マッチする優先度、cfvo ペア、塗りつぶし+負+軸の色、およびグラデーション/境界/方向/negativeBarColorSameAsPositive 属性を持つ<x14:conditionalFormattings>ext要素を構築します
バージョン 2.144.0
追加
- XLSX エンジンが Agile 暗号化ワークブックを書き込みできるようになり(
TXLSXWorkbook.SaveAsEncryptedAgile)、高い価値のある読み取り/書き込み互換性のギャップが埋められました。Agile は Excel 2010+ がパスワードで保護された .xlsx ファイルのためにデフォルトで書き込むものです。HotXLS は以前は Agile を読み取れましたが Standard Encryption (AES-128) のみを書き込めました。新しい書き込みパイプラインは既存の復号パスを反映します:100000 回反復の SHA-512 パスワードハッシュ、AES-256-CBC セグメントごとのパッケージ暗号化、ランダムに生成された仕様固定の3つのブロックキーでラップされた中間キー、暗号化された検証子+キーブロブを運ぶ完全な<encryption>記述子 XML。出力は Excel が生成するものにバイト忠実であり、XlsLoadAgileEncryptedFileを通じてきれいにラウンドトリップします(テストで検証済み:正しいパスワードで復号、間違ったパスワードは拒否) - 新しい暗号プリミティブが Agile 書き込みパスを支えます:
XlsHMACSHA512(RFC 2104、dataIntegrity要素に必要)、XlsBase64Encode(RFC 4648、既存のデコーダを反映するエンコーダ)、AESEncryptCBC(任意のキーサイズ 128/192/256 の AES-CBC 暗号化、既存のAESDecryptCBCの逆)。AES ユニットは Gladman obj からaes_encrypt_key192/aes_encrypt_key256をインポートするようになりました(以前は128ビットの暗号化のみ利用可能)
バージョン 2.143.0
追加
- 数式評価器が明示的交差演算子
@(Excel 365 動的配列構文、例:=A2:A4 @ B2:B4)を解析・評価するようになりました。レクサーが@記号のために新しいLT_ISECTトークンを出力し、優先順位パーサーがSA_ISECTノードを構築し(^より強く、%より弱く結合)、新しいIntersectRanges評価器が両方のオペランドを範囲として解決し、単一の交差セルの値 — Excel の暗黙的交差ルール — を返します。BIFF トークンシリアライザがtIsect $0Fを出力するため、演算子は XLS を通じてラウンドトリップし、数式テキスト再構築パスが暗黙的スペース形式を出力します。以前はそのような数式は解析に失敗していました - 標準 Base64 エンコーダ(
XlsBase64Encode)が利用可能になり、既存のXlsBase64Decodeを反映します。これは Agile 暗号化書き込みパスの前提条件であり、saltValue / encryptedVerifierHashInput / encryptedKeyValue / encryptedHmacValue を Base64 属性値として出力します - ワークブックの
OnProgressイベントが、完全な再計算(Recalculate)中にも新しいxlsxProgressCalculatingフェーズで発生するようになりました。以前はイベントは読み取りと書き込み中にのみ発生したため、長い完全再計算は UI にハートビートを与えませんでした。イベントはフラッディングを避けるためにおよそ4%のセルごとに発生します - 拡張文書プロパティ(
docProps/app.xml)が、パスワードで保護された/テンプレートベースの文書のために Excel が書き込む3つのフィールドを追加でラウンドトリップするようになりました:Manager、Template、DocSecurity(ビットフィールド:1=パスワード保護、2=読み取り専用推奨、4=読み取り専用強制、8=注釈のためにロック)
バージョン 2.142.0
追加
- ピボットテーブルの型付きモデルが、以前の分析ラウンドでギャップとしてフラグされたメタデータ、ソース、計算フィールド、「値の表示方法」、共有アイテム境界サーフェスを運ぶようになりました。
TXLSPivotCacheはRefreshOnLoad/RefreshedBy/RefreshedDate/MissingItemsLimit/CreatedVersion/RefreshedVersion/MinRefreshableVersion/EnableRefresh/BackgroundQuery/SaveDataに加えて型付きワークシートソース形状(SourceName/SourceRelId/SourceIsNamedRange)を獲得し、TXLSPivotCacheFieldはFormula/DatabaseField/MemberPropertyField(計算フィールド)と共有アイテム境界(ContainsBlank/ContainsInteger/ContainsString/ContainsNumber/ContainsDate/MinValue/MaxValue/MinDate/MaxDate/HasBounds)を獲得し、TXLSPivotDataFieldは「値の表示方法」変換(percent-of / difference / running-total / index)のためにShowDataAs/BaseField/BaseItemを獲得します。XLSX ライター(BuildPivotCacheDefinitionXml/BuildPivotTableXml)はこれらすべてを考慮するため、プログラムで構築されたピボット(AddPivotTable)はより豊かなpivotCacheDefinition+pivotTableDefinitionを出力します — refreshOnLoad / バージョン trio / refreshedBy / 名前付き範囲ソース / 計算 cacheField 数式 / sharedItems 境界 / dataField subtotal + showDataAs。ファイルから読み取られたピボットテーブルは引き続き生の XML をそのままラウンドトリップします - 画像アンカー動作が
TXLSXImageの新しいAnchorTypeプロパティ(xaTwoCell= セルとともに移動してサイズ変更、xaOneCell= 移動するがサイズ変更しない、xaAbsolute= 移動もサイズ変更もしない)を通じてラウンドトリップするようになりました。ライターはマッチするようにアンカー要素(xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor)を選択し、リーダーは要素名 +editAs属性を解析し直します。Excel の右クリック → サイズとプロパティ → プロパティダイアログにマッピングされます - ヘッダー/フッターが偶数/最初のページの差別化をラウンドトリップするようになりました。
TXLSXWorksheetはEvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterTextに加えて4つの<headerFooter>切り替え(DifferentOddEven、DifferentFirst、ScaleWithDoc、AlignWithMargins)を獲得します。ユーザーが「奇数ページと偶数ページを区別する」または「最初のページを区別する」を有効にしたファイルは、ラウンドトリップで偶数/最初のページセクションを失わなくなりました - ページ設定が、非デフォルトの印刷設定のために Excel が書き込む拡張
<pageSetup>属性をラウンドトリップするようになりました:Copies、FirstPageNumber+UseFirstPageNumber、HorizontalDpi、VerticalDpi、PrintErrors(displayed/blank/dash/NA)、UsePrinterDefaults <sheetFormatPr>がcustomHeight、zeroHeight、outlineLevelRow、outlineLevelColをラウンドトリップするようになり、ユーザーがユーザーピン留めのデフォルト行の高さ、非表示デフォルト行、またはデフォルトのアウトラインレベルを設定したファイルがその動作を失わなくなりました- データバーの条件付き書式が標準の
gradient属性(グラデーション vs 単色塗りつぶし)をラウンドトリップし、TXLSDataBarSpecがモデル上で Excel 2010+ のx14拡張フィールド(NegativeBarColor、NegativeBarColorSameAsPositive、GradientFill、theme/tint を持つAxisColor、Direction、Border)を獲得し、API コンシューマーがそれらを設定できます - コメントバルーンが VML 描画をそのままラウンドトリップするようになりました。リーダーは
xl/drawings/vmlDrawingN.vmlをそのままキャプチャし、ライターは保存時に(組み込みの黄色バルーン テンプレートの代わりに)それを再生するため、各バルーンのユーザー設定の位置/サイズ/塗りつぶし色/表示が生き残ります - コメント本文がランごとの書式設定をラウンドトリップするようになりました。
TXLSXCommentは遅延RichText: TXLSXRichTextペイロード(共有文字列ランモデルを再利用)を獲得し、ライターは RichText が書式設定を運ぶ場合ランごとに1つの<r><rPr>...</rPr><t>...</t></r>を出力し、リーダーは<b/>、<i/>、<sz val=N/>、<color rgb=.../>を解析し直すため、太字/斜体/サイズ/色が生き残ります - 数式評価器が
SUBTOTAL(すべての11のアグリゲータ:AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP、および101–111の非表示無視バリアント)とAGGREGATE(LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE ファミリーとそのk引数を含む、エラー/非表示スキップを選択するオプションコード0–7フラグを持つ19のアグリゲータ)を実装するようになりました。両方とも以前は未サポート関数パスにフォールスルーしていました。SUBTOTALは登録されていましたが実装がなく、AGGREGATEはまったく登録されていませんでした CELLとINFOワークシート関数が評価されるようになりました:CELLはaddress、col、row、type、contents、filename、format、および GUI 状態のinfo_type(color、parentheses、prefix、protect、width)はニュートラルなデフォルトを返し、INFOはosversion、system、recalc、memavail、numfile、release、originをサポートします。両方とも登録されていましたが#NAME?にフォールスルーしていました- 条件付き書式が
stopIfTrue、stdDev、equalAverage、timePeriodのcfRule属性に加えて、完全な10メンバーのtimePeriodファミリー(yesterday / today / tomorrow / last7Days / lastWeek / thisWeek / nextWeek / lastMonth / thisMonth / nextMonth)をラウンドトリップするようになりました。これらは読み取り時に暗黙的にドロップされていました。Excel は平均より上および日付バンドルールでこれらを日常的に書き込み、それらをドロップすると再オープン時のルールの再評価方法が変わっていました - CSV エクスポートが
TXLSCSVSaverのTXLSCsvEncodingプロパティを獲得しました。3つのモード:ceSystemAnsi(従来のデフォルト)、ceUtf16(歴史的 Unicode モード)、ceUtf8は EF BB BF バイトオーダーマークを持つ UTF-8 ファイルを書き込みます — 任意のロケールでテキストインポートウィザードなしで再オープンするモダンな Excel フレンドリーなデフォルト - CSV インポートが
TXLSCSVLoaderのLocaleTolerantNumbersプロパティを獲得しました。有効な場合、小数点区切りとして.で解析に失敗した数値フィールドは,で再試行され(その逆も同様)、ヨーロッパの3,14が US マシンで数値 3.14 としてインポートされます。厳密モード(デフォルト)は変更されていないため、先頭ゼロのテキスト、郵便番号、その他のカンマを含むトークンはテキストのままです
修正
- XLSX エンジンの厳密モードの数値推論が、
ThousandSeparatorが#0に設定されている場合でもカンマを桁区切りとして許容する Delphi のTryStrToFloatを介して、カンマを含むテキストフィールド(例:3,14)を数値に強制変換しなくなりました。そのようなフィールドは新しいLocaleTolerantNumbersオプションが有効でない限りテキストのままです
バージョン 2.140.0
変更
- XLSX エンジンが、保存の前に6つの属性ごとのスタイルプール(Fonts / Fills / Borders / NumberFormats / Alignments / Protections)をコンパクト化するようになりました:新しい
CompactStylePoolsパスがすべてのセルのスタイルインデックスをスキャンし、もはやどのセルからも参照されないプールエントリ — セルがクリア、削除、または再スタイル設定された後でプールエントリが最初に追加された後に蓄積されるエントリ — を破棄します。コンパクト化されたプールは出力ファイル内のより小さな<cellXfs>テーブル(いくつかの編集サイクルを経た文書で通常30–70%小さい)を生成し、XLS エンジンがCreateAllReferredListを介してすでに行っているコンパクト化に一致します
バージョン 2.139.0
追加
- 描画レイヤーのシェイプ、コネクタ、グループシェイプ、および非チャートグラフィックフレームがそのままラウンドトリップするようになりました:XLSX リーダーが、型付きモデル(画像/チャート/テキストボックス)がカバーしない
<xdr:sp>、<xdr:cxnSp>、<xdr:grpSp>、または非チャート<xdr:graphicFrame>アンカーに遭遇した場合、完全なアンカー XML をキャプチャし、保存時に変更せずに再生します — そのため Excel でオーサリングされた描画(矢印、吹き出し、グループ化されたシェイプ、スマートアートフレーム)が読み取り→書き込みサイクルで損失なく生き残ります。各ワークシートは検査のためにRawDrawingAnchorCount/RawDrawingAnchor(i)を公開します
バージョン 2.138.0
追加
- 外部リンクのキャッシュされたセル値が XLSX エンジンでラウンドトリップするようになりました:新しい
TXLSXExternalCell/TXLSXExternalRow/TXLSXExternalSheetDataモデルがAddSheetData/AddRow/AddCellを介して各TXLSXExternalLinkにぶら下がり、ライターはexternalLinkN.xml内にマッチする<sheetDataSet>ブロックを出力し、再オープン時にすべてのキャッシュされた値を復元します。FindCachedCell(sheetIdx, row, col)は外部参照セルの最後の既知の値 — リモートワークブックがオフラインのときに Excel 自身が表示するデータ — を検索します
バージョン 2.137.0
追加
- OOXML cellXf の
quotePrefixフラグ — Excel が、保存されたテキストを数値強制変換を生き残るリテラルとしてマークするメカニズム(CSV インポートされた00123のようなコード、長い口座番号、ユーザーがアポストロフィを前置したものすべて) — が XLSX エンジンでラウンドトリップするようになりました:TXLSXAlignmentがQuotePrefixプロパティを獲得し、配置プールの重複排除がそれをカウントし、ライターはマッチする<xf>にquotePrefix="1"を出力し、cellXf が子<alignment/>を持っていたか、裸の自己終了<xf quotePrefix="1"/>であったかにかかわらず、再オープン時にそれを復元します
バージョン 2.136.0
Added
- グラフの軸が完全にプログラム可能になりました:各グラフの
CategoryAxisとValueAxisに新しいTXLSXChartAxisモデルが追加され、LogBase(対数スケール、例:10 を底とする対数では 10)、Orientation(通常 / 反転)、MajorGridlines/MinorGridlines、MinValue/MaxValue(NaN = 自動)、MajorUnit/MinorUnit、CrossesAt、TickLblPos、DispUnits(表示単位:百 / 千 / 百万 / 十億 / 兆)を公開します。既定はすべて Excel の自動動作に従うため、既存のグラフは以前と同じ XML を生成します。ライターは呼び出し側が既定以外の値を設定した場合にのみ<c:logBase>、<c:orientation>、<c:majorGridlines>、<c:majorUnit>、<c:crossesAt>、<c:tickLblPos>、<c:dispUnits>を追加し、そのようなグラフを再度開くとすべての設定が復元されます
バージョン 2.135.0
Added
- グラフの誤差バーがプログラム可能になり、XLSX エンジンでラウンドトリップします:各
TXLSXChartSeriesはAddErrorBar(dir)を取得し、ValueType(固定 / パーセンテージ / stdDev / stdErr / カスタム)、Value、PlusValue/MinusValue(カスタム)、NoEndCapを持つTXLSXChartErrBarを返します。方向(X / Y)ごとに誤差バーのスロットが 1 つ格納され、ライターは対応する<c:errBars>ブロックを出力し、再度開くことで方向・型・大きさが復元されるため、科学 / 技術系のグラフは不確実性インジケータを維持します
バージョン 2.134.0
Added
- グラフのデータラベルがプログラム可能になり、XLSX エンジンでラウンドトリップします:各
TXLSXChartSeriesはShowValue、ShowCategoryName、ShowSeriesName、ShowLegendKey、ShowPercent、ShowBubbleSize、Separatorプロパティを取得し、対応する<c:dLbls>ブロックとその<c:show*/>子要素を出力します。そのようなグラフを再度開くとスイッチが復元され、「値を表示」/「パーセントを表示」の設定が保存-編集-保存サイクルを生き延びます
バージョン 2.133.0
Added
- ベクター画像形式の EMF および WMF が XLSX エンジンで第一級の画像タイプになりました:
TXLSXImageFormatにxlsxImageEmf/xlsxImageWmfが追加され、ライターは対応するimage/x-emf/image/x-wmfコンテンツタイプと.emf/.wmf拡張子を出力し、フォーマットスニッファーは EMF(01 00 00 73)、プレース可能 WMF(D7 CD C6 9A)、および標準 WMF ヘッダーを認識するようになりました —— これにより、Excel がベクターデータとして埋め込む Word や PowerPoint から貼り付けられた画像が、ドロップされずにラウンドトリップするようになります
Fixed
- GELFRAME レコード(
$1066)が 8224 バイトの継続境界にまたがる BIFF8 グラフサブストリームにおいて、塗りつぶし/線のジオメトリが失われなくなりました:リーダーが GELFRAME の自己継続(Excel は標準の$003CCONTINUE ではなく別の$1066を書き込みます)を受け入れるようになり、また標準の CONTINUE レコードがグラフコンテキスト内で結合されるようになり、ライターの既存のマルチチャンクディスパッチと一致します - ペイロードが継続レコードにまたがる BIFF8 ヘッダー/フッター背景画像(
$0866)が破損しなくなりました:各継続セグメントは 14 バイトの MSO ヘッダーを繰り返しますが、リーダーは結合する前にこれを取り除くようになったため、埋め込まれた画像データがセグメントごとに 14 バイトずれることがなくなりました
バージョン 2.132.19
Fixed
- レガシー XLS および暗号化された XLSX ストレージのクリーンアップにおいて、複合ファイルストリームが決定論的に解放されるようになり、保存、読み込み、VBA、または暗号化パッケージ操作の後に一時ファイルがロックされたままになるのを防ぎます
- 拡張された整数バリアント値の書式設定表示において、要求された表示形式が一貫して適用されるようになり、標準の整数値の既存の動作と一致します
- 共有文字列、データ検証、グラフシート、ZIP アーカイブ、PNG 描画、および繰り返されるテキスト数式において、エラーパスおよび大規模なテキスト操作中に一時バッファーがより防御的にクリーンアップされるようになりました
バージョン 2.132.18
Fixed
- 内部ストリングビルダーの値割り当てにおいて、空の文字列が割り当てられたときに以前のテキストをクリアするようになり、再利用される XML およびテキストバッファーに古いコンテンツが残るのを防ぎます
バージョン 2.132.17
Fixed
- XLS グラフシート作成において、感嘆符を含む引用符で囲まれたソースシート名を受け入れるようになり、有効な BIFF 行にラップされる前にオーバーサイズの行参照を拒否し、生成されたグラフレコードが適切に構成された状態を維持できるように近似曲線の凡例名を BIFF ショートテキスト制限に制限するようになりました
バージョン 2.132.16
Fixed
- 内部ストリングキーおよびオブジェクトキーのリストにおいて、既存のスロットが上書きされたときに古い検索キーを削除するようになり、古いキーが置換エントリに解決されるのを防ぎます
- 内部オブジェクトリストの置換および変換された一意キーキャッシュにおいて、上書き、クリア、および破棄時に所有エントリを解放するようになり、繰り返されるワークブックおよびスタイル操作中のリークを防ぎます
バージョン 2.132.15
Fixed
- 直接 XLSX ストリーミング読み込みにおいて、true や false などの OOXML リテラル値を格納するブール値セルをデコードするようになりました
- 内部ストリングリストのインデックス更新において、既存のスロットが上書きされたときに古いキーを削除するようになり、古い名前が新しい値に解決されるのを防ぎます
バージョン 2.132.14
Fixed
- 最初の文字が NUL である BIFF8 データ検証プロンプトおよびエラーメッセージにおいて、不一致な DV 長さを書き込む代わりにレコード境界を維持するようになりました
バージョン 2.132.13
Fixed
- XML テキスト解析において、未完了の実体を黙ってドロップするのではなく、&& などのネストされた実体の開始を拒否するようになりました
- 逆コンパイルされた数式において、数式のテキストが地域設定間で移植可能な状態を維持できるように、インバリアントなドット小数点区切り文字を使用して数値定数を書き込むようになりました
バージョン 2.132.12
Fixed
- パレット PNG の透過性において、任意のパレットインデックスを透明としてマークする代わりに、画像パレットに存在しない透明色を無視するようになりました
- SUMPRODUCT 数式において、長範囲の引数で最初に使用範囲外になった行の後、残りの行のスキャンを停止するようになり、計算結果を維持しながら不要なセルの読み込みを回避します
バージョン 2.132.11
Fixed
- TEXT 数式において、無効なまたはオーバーサイズの表示形式を適用できない場合、空の成功結果として処理されるのではなく、#VALUE! を返すようになりました
- 共有文字列テーブルの切り捨てにおいて、正しい末尾ブロックを解放するようになり、大規模な削除サイクルの後もテーブルを再利用可能な状態に維持します
バージョン 2.132.10
Fixed
- MATCH の完全一致検索において、Excel のワイルドカードを尊重するようになり、クラシック XLS の行オフセットメタデータにおいて、保存されたワークブックの構造を破損する代わりにブロック外の行を無視するようになりました
- PNG の圧縮テキストメタデータにおいて、チャンク処理で例外が発生した場合に一時バッファーを安全に解放するようになりました
バージョン 2.132.9
Fixed
- PNG の圧縮テキストメタデータ、チャンク一覧の挿入、および CRC バイト順序処理において、サポートされている Windows プラットフォーム全体で安定して動作し続けるようになりました
バージョン 2.132.8
Fixed
- LEFT および RIGHT 数式において、num_chars を有効な整数に変換できない場合に #VALUE! を報告するようになりました
バージョン 2.132.7
Fixed
- SEARCH 数式において、Excel スタイルの ?、*、および ~ ワイルドカードをサポートするようになりました
- ワークシート名の検証において、シートの名前を変更するときに無効な Excel シート名文字を拒否するようになりました
- 手動の改ページ削除において、既存の改ページの前に改ページを挿入した後でも機能するようになりました
バージョン 2.132.6
Fixed
- DATE 数式において、DATE(2008,14,2) などの呼び出しを含め、Excel 互換の月および日のロールオーバー動作と一致するようになりました
- 列範囲の Hidden 読み込みにおいて、行の非表示状態を混在させる代わりに、各列の非表示状態を報告するようになりました
- Excel 97-2003 の行制限における BIFF 行メタデータが正しく読み込まれるようになり、行 65536 の設定が維持されます
バージョン 2.132.5
Fixed
- BIFF ワークブックの読み込みにおいて、例外を発生させることなく、不正なワークシートタブの色、切り捨てられたピボットラベル、および無効なピボットキャッシュの日付断片を許容するようになりました
- ワークブックパッケージおよびストリームの読み込みにおいて、失敗したアーカイブおよびストレージのセットアップパスを一貫してクリーンアップするようになり、不正な入力やストリームベースのストレージオープン失敗時のリソースリークを回避します
バージョン 2.132.4
Fixed
- ZIP アーカイブ処理において、同じアーカイブオブジェクトを別のパッケージで再利用する前に現在のパッケージをファイナライズするようになり、ファイルベース of アーカイブオープンにおいて、並行共有リーダーを許可するようになりました
バージョン 2.132.3
Fixed
- ワークブックパッケージの書き込みにおいて、非 ASCII の ZIP エントリ名を UTF-8 メタデータで保存するようになり、パッケージパート名に Unicode テキストが含まれている場合の文字化けを防ぎます
- XML 出力において、エスケープが無効になっている場合に生のテキストおよび属性値を UTF-8 バイトとして書き込むようになり、宣言されたドキュメントエンコーディングと一致します
- 数式評価において、コールバック例外の発生後に処理中状態をクリアするようになり、Unicode Delphi ビルドでの大きな数値のキャンセルを正しく処理するようになりました
- 配列数式の行列抽出において、有効な 1 ベースの配列に対して例外を発生させる代わりに、ゼロ以外の Variant 配列の下限を尊重するようになりました
バージョン 2.132.2
Changed
- 範囲の並べ替えにおいて、既存の行コンテンツのラウンドトリップ動作を維持しながら、大きな並べ替え範囲に対して安定した O(n log n) の順序パスを使用するようになりました
- ODS および XLSX の数値解析と書式設定において、ホットパスで繰り返し作成する代わりに、インバリアントな書式設定状態を再利用するようになりました
Fixed
- XML 解析において、テキストを破損したり有効なマークアップで失敗したりすることなく、有効な CDATA ブロックおよび UTF-8 処理命令を受け入れるようになりました
- 数式解析において、符号付きの科学的表記法を受け入れ、不正な形式または切り捨てられた数式バイトをきれいに拒否するようになりました
- クラシックワークブックのオープンおよび保存パスにおいて、エラー後にストリームとストレージを確実に解放するようになり、一時ファイルがロックされたままになるのを防ぎます
- バイナリバッファー処理において、コピーおよび読み込みの境界を検証し、コピー前に宛先バッファーを拡張し、不正な VBA 圧縮バックリファレンスをきれいに拒否するようになりました
バージョン 2.132.1
Fixed
- 暗号化されたワークブックがサポートされていない暗号化スキームを使用しているときに発生するエラーメッセージを修正しました:以前は ECMA-376 Agile 暗号化を読み込めないと主張していましたが、Agile 復号(AES-128/192/256)は 2.119.0 からサポートされています。メッセージには、実際にサポートされているスキームがリストされるようになりました
- 暗号化された OOXML パッケージを拒否するときに、暗号化されたワークブックはサポートされていないと述べるのではなく、呼び出し元に TXLSXWorkbook.OpenEncrypted を示すようになりました
バージョン 2.132.0
Changed
- XLSX の読み込みが大幅に高速化されました:XML リーダーが繰り返される要素名をインターンし、スキャンバッファーからテキストおよび属性値を直接変換するようになり、セルあたりのメモリ割り当てが半分以下に削減されました。マルチスレッドでのオープン(2.128.0)が最も恩恵を受けており(削除された割り当てはワーカークランプをシリアル化していたものです)、マルチシートワークブックはマルチコアマシン上でシングルスレッドパスの約 2 倍の速度でオープンするようになりました。シングルスレッドでのオープンも数パーセント向上しています
バージョン 2.131.0
Added
- HotXLS がモデル化していないワークシート拡張ブロック(x14 条件付き書式やスライサーなどの機能のために Excel によって書き込まれる、スパークライン以外のワークシートの
<extLst>内の<ext>エントリ)において、ワークブックのオープン時にそのまま保存され、保存時に書き戻されるようになったため、ファイルのオープンと再保存によってこれらの拡張機能が削除されることがなくなりました。取得されたブロックはWorksheet.RawWorksheetExtsを通じて読み取り専用として表示され、シートが別のワークブックにコピーされる際にもシートと一緒に移動します
バージョン 2.130.0
Added
- 数式を含む保存されたワークブックに
xl/calcChain.xml計算チェーンパートが含まれるようになり、Excel は読み込み時に再構築する代わりに、記録された順序から依存関係エンジンを初期化できるようになりました。Recalculate呼び出しの後、チェーンは依存関係グラフのトポロジカル順序に従います。それ以外の場合、数式セルはドキュメント順にリストされます(Excel が実行時に調整する有効なヒントです)。このパート、そのコンテンツタイプ、およびそのワークブックの関係は一緒に出力され、オープン/保存のラウンドトリップ後も維持されます
バージョン 2.129.0
Added
- 新しい
Workbook.ParallelParseThreadsプロパティにおいて、2.128.0 で導入されたマルチスレッドの Open パス(0 = 自動、CPU コアあたり 1 つのワーカー)のワーカー数を調整できるようになりました。ワークシートの解析は負荷が高く、メモリ割り当てはスレッド間でシリアル化されるため、一部のワークロードでは小さな明示的な制限を設定する方が、フルコア数と同等かそれ以上のパフォーマンスを発揮します。このプロパティにより、インテグレーターはファイルに最適な測定値を選択できます
バージョン 2.128.0
Added
- マルチスレッドの XLSX 読み込み:ワークブックのオープンにおいて、大きなファイルでの主要なコストである各ワークシートの XML 解析をワーカースレッドで行うようになり、マルチシートワークブックがマルチコアマシン上でより高速にオープンするようになりました。シートパートはあらかじめパッケージから抽出され、各ワーカーは独自のシートのみを処理するため、ロードされたワークブックはシリアル処理の結果と同一になります
- 新しい
Workbook.ParallelParseプロパティ(デフォルトはTrue)において、Openの前にFalseに設定するとシングルスレッド解析に戻るようになりました —— 制限された環境向けの 1 行のオプトアウトオプションです
Changed
- 読み込み時の
OnProgressコールバックは、呼び出し元のスレッド上のワークシートごとに 1 回トリガーされ、シート間ではなく、各シートが解析のためにディスパッチされるときにトリガーされるようになりました
バージョン 2.127.0
Added
- XLSX エンジンにおけるインクリメンタルな再計算:新しい
Workbook.Recalculateメソッドが数式の依存関係グラフを構築し、すべての数式セルを依存関係の順序で 1 回評価し、各結果をセルのキャッシュ値に格納するようになりました。その後の呼び出しでは、前回のパス以降の値の変更によって影響を受けたセルのみが再評価されます —— 連鎖モデル(財務シート、レポートカスケード)において、1 つの入力を編集すると、ワークブック全体ではなく、その下流の数式のみが再計算されます - 揮発性関数(
NOW、TODAY、RAND、OFFSET、INDIRECT)は、静的に解決できない参照を持つ数式(複数領域の名前、外部ワークブック)と同様に、パスごとに再計算されます —— エンジンは古い結果のリスクを冒すよりも過剰に再計算を行います - ループする代わりに参照の循環が検出されます:数式が循環チェーンを形成している場合、
Recalculateはエラーコードを返し、循環のメンバーをスキップし、循環外のすべての数式を評価します。シート間参照、名前付き範囲、および CSE 配列数式(アンカーされた範囲全体に結果がスピルされます)は、依存関係グラフに完全に反映されます
Changed
- 既存のオンデマンドの
Calculateパスは変更されません。Recalculateは個別のオプトイン API であり、呼び出さないワークブックは以前とまったく同じように動作します
バージョン 2.126.0
Added
- XLSX エンジンにおけるスパークライン:ワークシートが、データ範囲から Excel がレンダリングするセル内ミニグラフであるスパークライングループ(Excel の 3 つのタイプ:折れ線、縦棒、勝敗スタック)を持つようになりました。
Worksheet.AddSparklineGroupで作成するか、新しいWorksheet.SparklineGroupsコレクションを通じてグループを手動で構築し、各グループにデータソース範囲と表示セルを持つスパークラインを任意の数追加できます - スパークライングループは、Excel が提供するすべてのオプションセットを公開します:線の太さ、データポイントマーカー、高/低/負/最初/最後のポイントの強調トグル、8 つの ARGB カラースロット(シリーズ、負、軸、マーカー、最初、最後、高、低)、グループごとまたはスパークラインごとの垂直軸スケーリング、および空のソースセルに対するギャップ/ゼロ/スパン処理です
- スパークラインは完全な保存→オープンのラウンドトリップ後も維持されます:保存時にワークシートの
extLst拡張ブロック([MS-XLSX] §2.3.6)が出力され、Excel 2010 以降がスパークラインをレンダリングできるようになります。このようなワークブック(HotXLS または Excel によって書き込まれたもの)を開くと、すべてのグループ、オプション、および範囲が再構築され、編集サイクル全体で維持されます。シートを別のワークブックにコピーすると、そのスパークライングループも複製されます
バージョン 2.125.0
Added
- XLSSuit のギャップ分析から特定された 7 つの DBCS バイトカウントテキスト関数が両方のエンジンで評価されるようになりました:
LEFTB、RIGHTB、MIDB、LENB、FINDB、SEARCHB、およびREPLACEB。それぞれがシステム ANSI コードページの下で入力をバイト文字列として処理するため、CJK(中国語/日本語/韓国語)文字は 2 バイトを占め、ASCII は 1 バイトを占めます。DBCS の先行/後続バイトペアを分割するような操作は、最も近い文字境界にスナップバックされ、Excel の動作と一致します
バージョン 2.124.0
Added
- XLSSuit のギャップ分析から特定された 5 つの仮説検定および分布関数が両方のエンジンで評価されるようになりました:
Z.TEST(帰無仮説の下で標本平均が少なくともxである片側右側確率)、T.TEST(対応のある 2 標本 t 検定の p 値。対応のない等分散/異分散タイプは延期)、CHISQ.TEST(上側カイ二乗 CDF を介した適合度の p 値)、HYPGEOM.DIST(累積フラグ付きの超幾何 PMF/CDF)、およびNEGBINOM.DIST(負の二項 PMF/CDF)。p 値の計算は、自己完結型のネストされたルーチンを介してエンジンの既存の正規/スチューデント t/カイ二乗 CDF ヘルパーを再利用するため、既存 of Calc メソッドは変更されません
バージョン 2.123.0
Added
- XLSSuit との比較でギャップとして特定された 14 の数式関数が両方のエンジンで評価されるようになりました:
AVERAGEIF(単一基準の平均。エンジンに欠けていた SUMIF/COUNTIF の兄弟関数)、WORKDAY.INTLおよびNETWORKDAYS.INTL(数値 1-17 のコードまたは 7 文字の月〜日文字列によるカスタム週末マスク)、XIRRおよびXNPV(不規則な日付のキャッシュフローに対する内部利益率と正味現在価値。挟み込み二分法で解決)、CEILING.PRECISE/FLOOR.PRECISE/ISO.CEILING(符号に依存しない丸め)、PERCENTRANK.INC/PERCENTRANK.EXC(対応する含み/除外の補間を使用したパーセンタイル順位)、MODE.MULT(最高頻度でタイになったすべての値をスピルします)、ERF.PRECISE(Gauss 誤差関数を介した交互級数)、ACCRINT(未払利息)、およびISPMT(定額元金返済の期間利息)
バージョン 2.122.0
Added
- スレッド化されたコメント(Excel 365)が XLSX エンジンでラウンドトリップするようになりました:ワークシート上の
AddThreadedCommentおよびAddThreadedReplyがセルにアンカーされた親→子の返信ツリーを構築し、新しいワークブックレベルのPersonsリストにすべての作成者を自動登録し、シートごとに専用のxl/threadedComments/threadedCommentN.xmlパートとワークブックレベルのxl/person/person.xmlを出力します。このようなパッケージを再度開くと、これらのパートからスレッドツリーと参加者リストが再構築されるため、返信チェーン、識別子、および表示名が完全な読み込み→書き込みサイクル後も維持されます
バージョン 2.121.0
Added
- 数式評価エンジンが、既にサポートされている
XLOOKUPおよびFILTERに加えて、Excel 365 の動的配列関数であるXMATCH、SORT、UNIQUE、およびSEQUENCEを計算するようになりました:結果は 2 次元配列としてスピルされるため、SEQUENCE(3;2;1;1)は 3×2 のグリッドを返し、SORTは任意のキー列の昇順または降順で行を再ソートし、UNIQUEは重複する行を折りたたんで最初の出現のみを保持し、XMATCHはXLOOKUPと同じ完全一致/ワイルドカード/次の最小値/次の最大値の検索モードで検索値の 1 ベースの位置を報告します
バージョン 2.120.0
Added
- 両方のエンジンのワークシートに新しく追加された
PasteFromClipboardメソッドは、Windows クリップボード(範囲がコピーされたときに Excel が配置するペイロード、または他のアプリケーションからのプレーンな選択)からタブ区切りのテキストを読み込み、CSV ローダーが既に使用しているものと同じ数値/日付/ブール値の型昇格を使用して、指定された行と列から始まるセルに書き込みます。先頭の=テキストはライブ数式になり、Excel 自体の貼り付け動作と一致します
バージョン 2.119.0
Added
- Excel 2010 以降がデフォルトで適用するパスワード保護である ECMA-376 Agile 暗号化の読み込みに対応しました:
OpenEncryptedが XML 暗号化記述子を解析し、SHA-512 スピンカウントハッシュでキーを派生し、パスワードを検証し、AES-CBC 分割パッケージ(AES-128/192/256)を復号するため、Excel で直接パスワード保護されたワークブックを Excel がインストールされていなくても開くことができます OpenEncryptedは、プレーンな暗号化されていない.xlsx、標準の暗号化(当社のSaveAsEncryptedラウンドトリップ)、および Agile 暗号化の 3 つのケースすべてを 1 つのエントリポイントで処理します。パスワードが間違っている場合、どの方式でも同じ明確なエラーが発生します
Fixed
- ワークシートの XML が約 116 KB(一般的な文字列データで約 3,000 行)を超える
.xlsxワークブックを保存するとスタックオーバーフローでクラッシュしていた問題を修正しました:ZIP ライターの CRC-32 チェックサムがデータを 64 KB スライスで処理するようになり、圧縮バックエンドがスタック上に特大のスクラッチバッファーを割り当てる大規模入力コードパスを回避するようになりました。チェックサム結果は変更されません
Changed
- 共有文字列の重複排除が、文字列リストをスキャンする代わりにハッシュテーブルを介して実行されるようになり、
sharedStrings.xmlパートが繰り返しの連結ではなく事前に拡張されたストリングビルダーを通じて組み立てられるようになりました —— 定数時間のセルインデックスと合わせて、これにより 120,000 個の文字列セルの保存時間が数十秒から約 3 分の 1 秒に短縮されます
バージョン 2.117.0
変更
- XLSX のセル アクセスが定数時間になりました。ワークシート セル コレクションが (行, 列) のハッシュ インデックスを持ち、従来の線形走査を置き換えます。その結果、大きなシートの投入・読み戻し・読み込みはセル数の二乗ではなくセル数に線形でスケールし、10 万セルの投入は以前の数分から 1 秒未満になります
- speedup applies across engine:
Cells[r, c],HasCell, ブック loading, saving, cross-ブック copies, auto-fit, と すべての helper touches セル によって position all benefit; 行 と 列 insertion または deletion rebuilds インデックス 内 single pass
バージョン 2.116.0
追加
- PDF export 内 クラシック XLS engine: new
SaveAsPDFメソッド on ワークシート と ブック render 使用済み 範囲 (または caller-supplied 範囲 経由TXLSPDFExport) as paginated grid — セル display テキスト 経由 number 形式, gridlines, 列 widths derived から Excel widths と scaled へ fit ページ, と automatic multi-ページ pagination - Output です self-contained PDF 1.4 ファイル 使用 no external dependencies, 使用 built-内 Helvetica フォント 使用 WinAnsi テキスト encoding; portrait または landscape A4 orientation, ページ margin, と フォント size です configurable on exporter
- この です data-presentation export alongside HTML と RTF: it reproduces tabular content と layout 向け reports と document handoff rather than full per-セル styling
バージョン 2.115.0
追加
- 1 つ-call chart creation から data 範囲 内 XLSX engine: new
AddChartFromRangebuilds complete chart と derives its series automatically から rectangular data block — equivalent の Excel's "insert chart から selection" — 使用 series-内-列 または transposed series-内-行 layout - Named shortcuts
AddColumnChart,AddBarChart,AddLineChart,AddPieChart, とAddAreaChartpick chart type によって 名前 over same 1 つ-call flow, reading series names から header 行 と category labels から first 列 - Series references です qualified 使用 source シート's quoted 名前, so generated chart keeps working 場合 placed on any シート と survives save と reload
バージョン 2.114.0
追加
- RTF import 内 クラシック XLS engine, inverse の 既存
SaveAsRTFexport: newOpenRTFメソッド on ワークシート と ブック read RTF document's table へ ワークシート セル —\celladvances 列,\rowadvances 行 — starting at A1 - Recovers tabular data から ファイル produced によって
SaveAsRTF, Word, または WordPad: numeric テキスト です stored as 番号 so 数式 keep working, hex (\'hh) と Unicode (\uN) escapes decode correctly, と header groups (フォント table, 色 table, stylesheet, info) です skipped - Documents 使用 no table fall back へ paragraph mode, importing each
\paras next 行 内 列
バージョン 2.113.0
追加
- Reading の encrypted
.xlsxブック:OpenEncryptednow decrypts ECMA-376 Standard Encryption (AES-128) packages, completing round trip 使用 既存SaveAsEncrypted— it reads compound-ファイル container, derives key から パスワード, verifies it, と loads recovered ブック - wrong パスワード raises clear "パスワード です incorrect" error, と
OpenEncryptedon plain unencrypted.xlsxcontinues へ load it directly, so callers できます route すべての ファイル 経由 1 つ エントリ point
変更
- unsupported-encryption message now names ECMA-376 Agile Encryption specifically as remaining unsupported scheme, since Standard Encryption reading と writing です both 利用可能
バージョン 2.112.0
追加
- New
TaggedTextプロパティ on XLSX セル converts between rich テキスト と lightweight markup:<b>,<i>,<u>,<s>,<sub>,<sup>,<color=#RRGGBB>,<font=Name>, と<size=N>, 使用</>/&escapes — so multi-形式 セル content できます be produced から template String instead の assembling run オブジェクト によって hand - マークアップを書き込むときは run リストを構築し、
Valueは連結されたプレーン テキストのまま保ちます。タグのないマークアップは rich payload のないプレーンな文字列を保存し、読み込みでは各 run の属性を完全なタグ セットとしてシリアライズし、未知のタグはリテラル テキストとしてそのまま通します
修正
- rich-テキスト run consisting entirely の whitespace (向け example single styled space between words) now survives save と reload; previously space was dropped 場合 ファイル was reopened
バージョン 2.111.0
追加
- New
OnProgressイベント on XLSX ブック reports load と save progress: it fires once per ワークシート as it です parsed duringOpenまたは emitted duringSaveAs, carrying phase (reading または writing), current 1-ベース シート number, と total — so applications できます drive progress bar over long multi-シート operations at negligible callback cost
バージョン 2.110.0
追加
- New
TXLSRowCursordataset-スタイル 行 cursor 向け.xlsx/.xlsmファイル:Open,SelectSheet, thenFindFirst/FindNextwalk ワークシート 1 つ 行 at time 使用 のみ current 行's セル 内 memory — pull-driven alternative へTXLSDirectReader's callbacks 向け sequentially processing multi-million-行 シート - Each 行 exposes its 1-ベース ワークシート 行 number, populated セル 内 document order (型付き 値, 数式 テキスト, スタイル インデックス), と
ValueByCollookup 返しますNull向け 列 not populated on 行; 行 使用 no populated セル です skipped - シート names と count です 利用可能 after
Open(ファイル と stream overloads), 使用 shared strings と date-形式 detection handled same way as streaming reader
バージョン 2.109.0
追加
- New
TXLSXCellFormat"形式 brush" 向け XLSX engine: describe フォント, fill, 罫線, alignment, number 形式, と protection once, then stamp any number の targets 使用Apply(single セル),ApplyRange,ApplyRows,ApplyCols, またはApplySheet - のみ aspects actually touched です applied — brush 設定します just
Font.Boldleaves targets' fills, 罫線, と number 形式 untouched — so brushes compose 使用 既存 formatting like Excel's 形式 painter - Each apply resolves touched aspects へ ブック スタイル pools once と then writes のみ pool indices per セル, so formatting large 範囲 costs 1 つ pool lookup per aspect rather than per セル;
ApplyRangematerializes missing セル 間 行/列/シート forms stamp 既存 セル のみ
バージョン 2.108.0
追加
- Localizable Boolean display テキスト: new
XLSBooleanTrueText/XLSBooleanFalseTextvariables control how Boolean セル 値 render wherever display テキスト です produced —FormattedText, HTML export, と auto-fit measurement — so localized applications できます show 向け example WAHR/FALSCH または VRAI/FAUX
変更
- Boolean セル now display as
TRUE/FALSEによって default, matching Excel's grid, instead の runtime'sTrue/Falsecapitalization
バージョン 2.107.0
追加
- New
OnPasswordイベント on クラシック XLS ブック: 場合Openmeets encrypted ブック と supplied パスワード です missing または wrong, イベント asks application 向け パスワード と retries open (up へ three attempts) — so interactive tools できます prompt user instead の pre-loading passwords または inspecting error codes - イベント receives current パスワード によって リファレンス と
Retryflag; leavingRetryatFalsegives up と 返します original パスワード error
バージョン 2.106.0
追加
- New
TXLSFileMonitorクラス watches ブック ファイル on disk と firesOnFileChanged場合 another process — typically Excel — saves over it, so applications できます reload と refresh their view automatically - Polling-ベース (last-write time plus size,
IntervalMsconfigurable, 1 s default), so it works on local disks と network shares alike なし message loop;SynchronizeEventchooses between main-thread delivery 向け UI handlers (default) と direct watcher-thread delivery 向け console または service code - 保存サイクルの間に一瞬見えなくなるファイルは、誤ったイベントを発火しません。変更は新しい内容が揃ってから報告されます
バージョン 2.105.0
追加
- Bounded auto-fit 内 クラシック XLS engine, matching limits XLSX engine already offers: new
AutoFit(Columns, AMin, AMax),ColumnsAutoFit(AMinWidth, AMaxWidth), とRowsAutoFit(AMinHeight, AMaxHeight)overloads clamp すべての fitted 列 幅 (Excel 幅 units) または 行 高さ (points) へ given 範囲 — 0 leaves side unbounded, と all-empty 列 または 行 still receives requested minimum
バージョン 2.104.0
追加
- New 読み取り専用
FormattedTextプロパティ 返します セル's display テキスト — stored 値 rendered 経由 its number 形式, way Excel shows it 内 grid — covering thousands separators, decimals, percentages, date と time masks, multi-section positive/negative/zero masks, と Boolean 形式 - 利用可能 内 both engines: on
IXLSRange内 クラシック XLS engine (multi-セル 範囲 render their anchor セル) と onTXLSXCell内 XLSX engine (rich-テキスト セル 返す their concatenated run テキスト)
バージョン 2.103.0
追加
- New
DetectExcelContentFormat関数 (ファイル 名前 と stream overloads) identifies ブック's container から its leading bytes rather than ファイル extension — reporting BIFF/OLE compound ファイル, OOXML.xlsxpackage, OpenDocument.odspackage, または plain delimited テキスト — so applications できます route renamed または extension-less ファイル へ right loader
変更
TXLSWorkbook.Opennow sniffs content signature と rejects ZIP-ベース packages (.xlsxまたは.odsrenamed へ.xls) 使用 clear message naming right loader, instead の failing 使用 opaque error codeTXLSXWorkbook.Opennow recognizes OLE compound-ファイル content (legacy.xlsrenamed へ.xlsx, または encrypted package) と reports what ファイル actually です, instead の surfacing ZIP parser error
バージョン 2.102.0
追加
- Cross-ブック ワークシート copy 内 クラシック XLS (BIFF8) engine now brings ブック-level defined names 数式 uses over へ destination — same thing Excel does 場合 シート moves between ブック: 名前 destination already has です bound as-です (no duplicate です created), missing 名前 です registered 使用 its original definition と visibility so 数式 recompiles against it, と 名前 whose definition cannot resolve 内 destination (向け example, it points at シート does not exist there) leaves 数式 on its computed 値 as before
バージョン 2.101.0
追加
- クラシック XLS (BIFF8) エンジンのブック間ワークシート コピーは、参照先の名前のシートがコピー先に存在せず、ソースがファイルに保存済みの場合、数式を外部リンクとしてソース ブックへ向け直すようになりました。コピーされたセルは生きた数式のまま(参照は [SourceBook]Sheet 形式に切り替わる)で、ソースの計算値はキャッシュ結果として残るためリンクが更新されるまで読み取りは機能し続け、外部ブック参照は保存と再読み込みでラウンドトリップします。定義名参照を含む数式や、未保存のソース ブックからのコピーは、これまでどおり計算値を保持します
バージョン 2.100.0
追加
- Array 数式 now survive ワークシート copies 内 クラシック XLS (BIFF8) engine: each array 範囲 です rebuilt as whole 内 copy — within same ブック と across ブック alike — 使用 root 数式 recompiled against destination's シート names; array destination cannot recompile keeps its computed 値 instead
修正
- Copying 範囲 含みます array-数式 セル between クラシック XLS ワークシート no longer risks crash on spill セル (which carry no 数式 tree の their own); such セル now transfer their computed 値
バージョン 2.99.0
追加
- Chart シート できます now be copied between クラシック XLS (BIFF8) ブック: chart record stream です cloned へ destination, series category / 値 / 名前 references です recompiled against destination's シート names (series whose シート has no same-名前 counterpart falls back へ empty リファレンス so ファイル still opens), chart フォント references migrate によって 値 へ destination フォント table, と ページ setup, tab 色, zoom, と visibility の chart シート come along; この removes last documented limitation の cross-ブック ワークシート copy
バージョン 2.98.0
追加
- Cross-ブック ワークシート copy 内 クラシック XLS (BIFF8) engine now preserves rich-テキスト formatting inside セル: each formatting run's フォント です migrated によって 値 へ destination ブック's フォント table と run です rewritten へ point at it, so mixed-フォント strings keep their appearance instead の falling back へ plain テキスト; phonetic (Far-East) auxiliary data travels 使用 String as well
修正
- フォント referenced のみ によって rich-テキスト runs (と not によって any セル 形式) です no longer dropped から フォント table 場合 saving クラシック XLS ブック, と runs now follow same フォント reordering as セル 形式 on save, so rich-テキスト strings keep correct フォント after save/reload cycle
バージョン 2.97.0
追加
- Cross-ブック ワークシート copy 内 クラシック XLS (BIFF8) engine now also clones embedded pictures: image bytes migrate へ destination ブック's picture store (identical images です shared rather than duplicated), と each picture frame keeps its セル anchor, size, visibility, と transparent 色; new CrossWorkbookCopyXls sample project demonstrates クラシック-engine copy end へ end
変更
- クラシック XLS cross-ブック copy limitations です now documented: chart シート です not copied (AddCopy 返します nil 向け them), と 数式 whose シート リファレンス has no same-名前 シート 内 destination keeps source's computed 値 instead の becoming external リファレンス
バージョン 2.96.0
追加
- Cross-ブック ワークシート copy 内 クラシック XLS (BIFF8) engine now also clones conditional 形式 (セル-です と expression rules, data bars, 色 scales, icon 設定します, と their differential styles), data validations (list, numeric, date, テキスト-length, と custom rules 使用 prompt と error boxes), AutoFilter definition 使用 its per-列 criteria (dropdown buttons です rebuilt 内 copy), と テーブル (ids と names です re-issued so they stay unique 内 destination ブック); rule 数式 です recompiled against destination's シート names, matching behavior の セル 数式
バージョン 2.95.0
追加
- クラシック XLS (BIFF8) ワークシート できます now be copied から 1 つ ブック へ another: TXLSWorksheets.AddCopy 追加します new シート へ destination ブック と copies source シート's セル 値, 数式 (re-encoded as テキスト so destination recompiles them against its own シート names, keeping same-名前 3D references live), merged セル, コメント, ハイパーリンク, 行 heights, 列 widths, outline levels, frozen panes, シート protection, ページ setup, manual ページ breaks, tab 色, と view settings; セル, 行, と 列 形式 です migrated によって 値 へ destination ブック's 形式 table, so styled source produces independently styled copy
- Cross-ブック 形式 migration 内 クラシック XLS engine now carries full-precision RGB と テーマ 色 alongside each 形式 エントリ, so fills, フォント, と 罫線 keep their exact 色 instead の falling back へ palette approximations; この also applies へ 範囲-level paste between ブック
バージョン 2.94.0
追加
- Cross-ブック ワークシート copy now clones conditional 形式 (使用 their differential styles と dataBar / colorScale / iconSet visual payloads), テーブル, data validations, と charts (使用 すべての series); each sub-オブジェクト deep-copies its own state へ destination ワークシート
- Cross-ブック 数式 references です rewritten: リファレンス whose シート 名前 exists 内 destination resolves as-です, otherwise it becomes external リファレンス back へ source ブック (which です registered as external link) または #REF! 場合 source has no ファイル identity; rewrite applies へ セル 数式, conditional-形式 rules, data-validation 数式, と chart series 範囲 alike
バージョン 2.93.0
追加
- ワークシートをブックから別のブックへコピーできるようになりました。TXLSXSheets.AddCopy はコピー先ブックに新しいシートを追加し、ソース シートのセル、数式、結合範囲、列/行サイズ、表示しない/縮小/アウトライン フラグ、フリーズ ペイン、ビュー状態、保護、ページ設定、AutoFilter 範囲、タブ色をそこへコピーします。6 つのセルごとのスタイル インデックスは値の一致検索でコピー先ブック自身のフォント/塗りつぶし/罫線/NumberFormat/Alignment/Protection プールへ再マップされるため、スタイル付きのソースはインデックスが誤ったプールを指すのではなく、独立にスタイルされたコピーを生成します
- six per-attribute スタイル pools (フォント, Fills, 罫線, NumberFormats, Alignments, Protections) each expose 1-ベース LookupOrAdd deduplicates によって 値; new CrossWorkbookCopy sample project demonstrates cross-ブック copy 使用 スタイル 保持
バージョン 2.92.0
追加
- XLSX ブック now サポート ピボットテーブル: TXLSXWorksheet.AddPivotTable scans flat source 範囲, auto-builds pivot cache, と 返します 型付き ピボットテーブル 向け 行 / 列 / ページ / data-axis wiring, mirroring long-standing BIFF8 (XLS) engine API so same code targets either 形式; PivotSetDataFieldFormat assigns number 形式 へ each aggregated 値 field
- Excel-created ピボットテーブル ラウンドトリップ なし loss 経由 Open then Save: XLSX engine preserves each pivot cache definition, cache records, と ピボットテーブル part verbatim と replays original bytes on save, so re-saving ブック never drops または alters its pivots even 場合 they use 機能 型付き モデル does not expose
バージョン 2.91.0
追加
- ワークシートの AutoFilter をデータに適用できるようになりました。これにより、保存されたワークブックを開いた際に一致しない行がすでに非表示になり、フィルタのドロップダウンから値が選択された際の Excel の動作を再現します
- 埋め込み画像は、EMU 値とともに実際の単位(センチメートル、インチ、ポイント)でジオメトリを公開するようになり、オプションのアスペクト比ロック付きのスケール係数によるサイズ変更が可能になりました
- ページ設定の余白をセンチメートルで直接設定できるようになり、インチベースの余白に対する便利なメートル法のオプションとして提供されます
- 保護された XLSX ワークシートは、新しい AllowOption プロパティを通じて 15 個のきめ細かい権限切り替え(セルの書式設定、行と列の挿入/削除、並べ替え、AutoFilter、ロックされた/ロック解除されたセルの選択など)を公開するようになり、Excel の「校閲」>「シートの保護」のチェックボックスリストと一致します。各アクションごとの設定はファイルを介して往復保持されます
- XLSX ワークシートを複製できるようになりました(TXLSXSheets.Duplicate)。新しいシートが追加され、ソースのセル、結合された範囲、列/行のサイズ、ウィンドウ枠の固定、表示状態、保護、ページ設定、およびタブの色がコピーされ、Excel の右クリック >「移動またはコピー」>「コピーを作成する」を再現します
- ワークブックの暗号化、セルのコメント、ハイパーリンク、定義された名前、AutoFilter の評価、埋め込み画像、請求書テンプレート、高度な XLSX 条件付き書式、結合されたセル、行/列のアウトライン、ウィンドウ枠の固定、複数シートのレイアウト、配列数式、範囲のコピー/移動、検索/置換、日付システム、リッチテキスト、高度な CSV、HTML エクスポートオプション、カスタム数値形式、非表示の行/列、およびワークシートの保護など、ライブラリがサポートする機能をカバーする 22 個の新しいサンプルプロジェクトが追加されました
バージョン 2.90.29
変更
- ストリーミング直接リーダー (streaming direct reader) は、セルごとのハンドラーがアタッチされていない場合でも、データが入力されたすべてのセルをカウントするようになり、単なる ReadFile 呼び出しでワークシートのサイズをすばやく決定できるようになりました。返されるカウントと CellCount プロパティは、スキャンされた入力済みセルの数を報告します
バージョン 2.90.28
追加
- 数式をステップバイステップで評価できるようになりました。これは Excel の「数式の検証」コマンドに相当します。新しいトレーサーは、最も内側のものから順に 1 つのサブステップずつ式を縮小し、各縮小のソースとなるサブ式、オペランドが値に置き換えられた後の同じサブ式、および結果の値を報告するため、アプリケーションは結果がどのように構築されるかを示すことができます。演算子の優先順位を尊重し、SUM などの関数の範囲参照をそのまま維持し、ワークシートの計算エンジンを再利用するため、すべてのステップが完全な再計算と一致します
バージョン 2.90.27
追加
- XLSX ワークブックは、新しいストリーミング直接ライター (streaming direct writer) を通じてセルごとに生成できるようになりました。行が到着するたびにメモリ内に完全なセルツリーを構築することなく各ワークシートをパッケージに直接出力するため、メモリフットプリントをほぼ一定に保ちながら非常に大きなファイルを生成できます。このライターは、複数のシートにわたるインライン文字列、数値、ブール値、日付、数式を処理し、ストリーミング直接リーダーとのラウンドトリップをサポートします
バージョン 2.90.26
追加
- XLSX ワークブックは、新しいストリーミング直接リーダー (streaming direct reader) を通じてセルごとにスキャンできるようになりました。メモリ内に完全なセルツリーを構築することなくセルごとおよびシートごとのイベントを発生させるため、非常に大きなファイルでもメモリフットプリントをほぼ一定に保つことができます。報告される各セルには、その値、種類 (数値、文字列、ブール値、日付、またはエラー)、数式テキスト、スタイルインデックスが含まれ、オプションで日付検出と早期中断のサポートがあります
バージョン 2.90.25
追加
- クラシック XLS ワークシートは、URL の正規化、ワークブックターゲットのサブアドレス、表示テキスト、およびヒントを保持しながら、A1 スタイルのセル参照からハイパーリンクを追加できるようになりました
バージョン 2.90.24
追加
- クラシックXLSの改ページは、改ページコレクションとワークシートヘルパーのオーバーロードを通じて、1ベースの行または列の位置およびA1スタイルのセル参照から追加できるようになりました
バージョン 2.90.23
追加
- クラシックXLSワークシートとシェイプコレクションは、A1スタイルの範囲文字列から、長方形、楕円、線、および型付きオートシェイプ描画オブジェクトを作成できるようになりました
バージョン 2.90.22
追加
- クラシックXLSシェイプコレクションは、AddTextBoxオーバーロードを通じて、A1スタイルの範囲文字列からテキストボックスを作成できるようになりました
バージョン 2.90.21
追加
- クラシックXLSテキストボックスは、新しいSetAreaオーバーロードを通じて、A1スタイルの範囲文字列から位置を変更できるようになりました
バージョン 2.90.20
追加
- クラシックXLSワークシートテキストボックスは、AddTextBoxオーバーロードを通じて、A1スタイルの範囲文字列から作成できるようになりました
バージョン 2.90.19
追加
- クラシックXLSワークシートは、新しいAddTextBoxメソッドを通じて、行と列のアンカーから直接描画テキストボックスを作成できるようになりました
バージョン 2.90.18
追加
- クラシックXLSワークシートは、新しいAddCommentオーバーロードを通じて、行と列の座標から直接セルコメントを作成できるようになりました