改ざん検出:HotXLSのAgile dataIntegrity HMAC
HotXLSでDelphiからAgile暗号化XLSXパッケージを検証し、HMAC-SHA-512のdataIntegrity、定数時間の照合チェック、クラシックな書き込み予約レコードも扱う
losLab ソフトウェア開発ブログ
Software Development Blog
HotXLSでDelphiからAgile暗号化XLSXパッケージを検証し、HMAC-SHA-512のdataIntegrity、定数時間の照合チェック、クラシックな書き込み予約レコードも扱う
HotXLSがDelphiでAgile暗号化されたXLSXを読み取る方法:OpenEncryptedがEncryptionInfoを解析し、SHA-512スピンカウントによる鍵派生を実行し、AES-CBCセグメントを復号します
行や列の編集がルールの適用範囲を分断したとき、HotXLSがDelphiで条件付き書式とデータ検証ルールをどのように優先度付きのルールオブジェクト群へ分割するのかを、詳しく解説する
HotXLSのPivotTable emitterがBIFF bodyを24 byteと宣言して26 byteを書いたためchart sheetが消えました。原因と自分で見つける方法を解説します
HotXLSがDelphiでBIFF SupBookレコードとXTIを分類する方法を解説。セルフフラグや空URLから同じシート参照、アドイン、DDE、OLEの各リンクを推測できない理由と、7種類の閉じた列挙型による型付き分類を紹介します
HotXLSはDelphiから、OLE以前のExcel 2.0、3.0、4.0形式のワークブックを開き、生のBIFFストリーム、世代ごとに異なるセルレコード、キャッシュされた数式の計算結果を読み取ります
HotXLSがDelphiでBIFF8のsecondary axis groupを書き出す方法を解説します。AXESUSED、2つのAxisParent block、chart groupのnestingを扱います
HotXLSはBIFF8のチャートサブストリームを、OBJタイプ5のホストコントロールとしてワークシートにアンカーします。チャートは専用シートではなくデータの隣に座り、系列参照の受け付け範囲やXLUnicodeStringの落とし穴も解説します
PivotTableは.xlsバイナリフォーマットで最も複雑な構造です。HotXLSが独立したピボットキャッシュを構築し、DelphiでSXDBBレコードをパックする方法を解説します
HotXLSがDelphiでBIFF8 XLUnicodeStringをdecodeする規則を説明します。GetWideStringはbyteを数え、fHigh 0ではGetStringを使います
HotXLSはDelphiからPRICE、YIELD、DURATION、クーポン日付関数、財務省短期証券関数を評価する。すべての日数計算基準5種を備え、Excelのインストールも不要
HotXLS はワークシートのメタファイル画像を GDI 再生へ渡す代わりに、上限付きのコマンドシーンへデコードします。予算定数、フェイルクローズの解析、レンダリングだけに限定される拒否の設計を解説します
HotXLSがDelphiでExcel数式のキャッシュ値を再計算なしで読む方法を解説。ETLの実行を高速に保ち、ソースブックをバイト単位で無変更のままにする、State、Kind、Valueの3事実の分離も紹介します
HotXLSはDelphiからExcelカメラオブジェクトを作成し、Excelがロード時に再描画するセル範囲のライブな画像を配置する。リンクは往復編集でも保持される
TXLSCellImageExporter は XLS や XLSX のセル矩形をページ分割なしの 1 枚の PNG または JPEG へレンダリングします。ピクセルとバイトの予算、アトミックな置換を解説します
HotXLSを使ってDelphiでCF_HTMLクリップボードペイロードを構築し、正確なバイトオフセットを使ってExcelの範囲をスタイルを保ったままWordやブラウザに貼り付けられるようにする
HotXLSでDelphiからExcelのウォーターフォールとツリーマップチャートを書く方法:cx:chartSpaceパート、layoutIdシリーズ型、cx:ptキャッシュ、AlternateContentアンカーを解説します
HotXLSを使用してDelphiでExcelグラフ、画像、図形を追加する方法を解説する:XLSのグラフシート、XLSXの埋め込みグラフと画像、EMUサイズ指定、アンカー処理の落とし穴を扱う
Excelの列幅はMax Digit Width単位で測られるため、Calibri以外のNormalフォントですべての列境界がずれます。HotXLSがDelphiでGDIによりMDWを実測し、ページネーションの寸法狂いを防ぐ仕組みを解説します
HotXLS Delphi Component の comments, hyperlinks, and review workflows を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi または C++Builder コードから直接 Excel
HotXLSが純粋なPascalでCompound File Binary v3コンテナを解析する仕組み:ヘッダーの署名、ヘッダー内DIFAT、FATチェーン、MiniFAT、ディレクトリツリーをole32.dllなしで扱う DelphiとC++Builder向けのHotXLS Excel
HotXLSがDelphiでExcelの外からExcel条件付き書式ルールを評価する方法、そしてExcel 16でのテストにより固定されたTop 10パーセント、平均以上、重複のケース
HotXLSを使いDelphiからcellIsルール、データバー、アイコンセット、リッチテキストのランを適用し、XLSXのdxfスタイルとフォントプールの添字の罠を避ける方法です
HotXLSはDelphiでXLSX、ODS、XLSをステージング一時ファイルとWindowsのアトミックなリネームを通じて保存するため、中断された保存がワークブックを破損させることはない
Delphi XE5だけで発生する5つのcompiler rejectionと、最新compilerだけを実行するbuild scriptがHotXLS matrixを静かに壊した理由を説明します
HotXLSのAddCopyがDelphiでExcelワークシートをワークブック間コピーし、数式・チャート参照・フォントインデックスを目的地ワークブック用に再バインドする仕組み HotXLSの メソッドは、あるExcelワークブックのワークシートを別のワークブックへコピーする際、コンパイル済みの数式ツリーを直接コピーす
HotXLSはDelphiにおいて、別のワークブックを参照する数式を古いキャッシュ値ではなくメモリ上のライブなオブジェクトに対して評価し、未登録の場合は外部リンクキャッシュにフォールバックする
HotXLSを使用してDelphiでExcelシートをCSV、TSV、HTMLへ出力する方法:RFC 4180クォート、UTF-8 BOM、および出力前に数式の再計算が必要な理由について解説
HotXLSのTXLSWorkbookViewerがExcelワークブックをDelphiのグリッドとして描画する仕組み:結合セルのヒットテスト、スクロール同期、セル選択、ハイパーリンクとコメントのイベント
HotXLS で Delphi からドロップダウンの入力規則、オートフィルタの条件、Excel テーブルを追加する方法です。サーバー側のフィルタ再現と 0 始まりカラム id の罠も解説します
HotXLS Delphi Component の database export to spreadsheet reports を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi または C++Builder コードから直接 Excel
Excelの日付は、どの基準日(エポック)からカウントされるかがわかるまでは単なる数値です。。1900年と1904年のシステムが1462日異なる理由と日付フォーマットの判定について解説します スプレッドシートを開き、 と表示されているセルをクリックすると、数式バーは日付のままで読み取られます
HotXLSは隔離オーバーレイで全数式を再計算し、キャッシュ済み値と食い違うセルを1つずつ報告します。ApplyResultsを明示的に要求しない限り、ワークブックへの書き込みは一切行いません
HotXLSを使用してDelphiでブックレベル・シートレベルの定義された名前を作成し、編集に耐えるシート間参照の数式を書き、_xlnmという名前衝突を回避する方法までを丁寧に解説する
HotXLSを使いDelphiでExcel 365の動的配列スピル数式を評価します。XLOOKUP、FILTER、SORT、UNIQUE、SEQUENCEをSetArrayFormulaで固定して計算します
ExcelのDEC2BIN、HEX2DEC、IMSUM関数は、10ビットの2の補数と文字列エンコードされた複素数演算を隠蔽しています。HotXLSがDelphiでこれらをどのように実装しているかをご覧ください
HotXLSはワーカーが待機している間、メインスレッドでTXLSFileMonitorイベントを発火するため、OnFileChanged内でのモニタ停止はスレッド所有権なしではデッドロックします
HotXLSを使用してDelphiでExcel数式を評価する方法:Calculateエンジン、OnUserFunctionカスタム関数、配列数式、およびCSV出力で計算値が必要な理由について解説
Excelは数式を一度に1ステップずつ評価できます。Delphiのスプレッドシートの監査やデバッグのために、HotXLSがそのステップバイステップの簡約をどのように再現するかを紹介します
DelphiでXLSXの行や列を挿入・削除する際、HotXLSが相対参照・絶対参照・範囲参照などのA1数式参照を自動でシフトし、削除領域への参照を#REF!に変換する仕組みを解説する
HotXLSのWindows向けFree Pascal移植を支えるのは4つの決定です。コアをDELPHIUNICODEで維持し、OLE構造化ストレージをCORBAインターフェースで宣言し、Win32用AESオブジェクトをPascal実装に置き換え、切り詰められたZIPを受け付けるinflateループを修正しました
HotXLSがbinary XLSへtheme-colored chart fillを書き込む方法を解説します。GelFrame、red byte内のOfficeArt scheme index、MSOTINT payloadを扱います
Delphi の HotXLS で埋め込み XLSX 画像を物理寸法で扱う方法を解説します。EMU 単位、センチメートルとポイントのジオメトリ、アスペクト比を維持するスケーリング、cm 余白まで扱います
HotXLSはGIF、BMP、JPEGの各ヘッダから実際のピクセル寸法を読み出し、画像を引き伸ばす100×100のフォールバックではなく、AddPictureが本物のジオメトリを書けるようにします
HotXLSのWorkbook.Recalculateが数式依存関係グラフを構築し、ダーティなセルだけを再計算する仕組みを解説する:揮発性関数、トポロジカル順序、循環参照の検出を扱う
HotXLSはDelphiから既存のXLSXパッケージ内の1つのワークシートだけを書き換え、手を加えないパーツはすべて圧縮バイト列のまま引き継ぎます
HotXLSを使いDelphiで意図した循環参照を解決します。Iterate、IterateCount、IterateDeltaによる反復計算と、循環がどう収束するかを解説します
HotXLSでDelphiからExcelのLAMBDAクロージャと完全なLETセマンティクスを評価し、名前付きラムダ、レキシカルキャプチャ、シャドーイング規則、カンマ区切りにも対応する
Delphiでの大規模Excelファイル向けHotXLS実践チューニングを解説する:StreamingWriteによる保存、スタイルプールの再利用、行コールバック、読み取り専用ロードの高速化を扱う
自分自身を含む列を検索範囲とする VLOOKUP が Excel で合法である理由と、HotXLS がスキャンエッジを順序付けエッジから分離して偽の循環参照を止める仕組みを解説します
DelphiコードでXLSXファイル内の1つのセルを編集する際、HotXLSがカスタムテーマ、不明なextLstブロック、およびcalcChainを維持する方法と、ラウンドトリップの再現性の限界について解説します
HotXLS が Delphi のレポートテンプレートで結合セルをどう扱うかを解説します。アンカーセルの意味、InsertRows の移動規則、結合の監査、HTML と RTF 出力での劣化まで扱います
Delphiで大容量XLSXを全シート解析なしに開くHotXLSのMetadataOnly発見、SelectedSheets読み込み、オンデマンドLoadSheet、rawパート保存の仕組みを解説
HotXLSがDelphiからOpenDocument形式のスプレッドシートを開閉する方法を解説する:SaveAsODSのエクスポートオプション、軽量なODSインポート経路、ラウンドトリップで残る情報を扱う
パスワードは正しいもののExcelが破損を報告する、2つの暗号化バグについて説明します。ECBとCBCの混同やRC4キー再生成のズレがDelphiで相互運用性を損なう原因を解説します
HotXLS Delphi Component の Office-free workbook automation を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi または C++Builder コードから直接 Excel
Delphiでスレッドを追加するとXLSXのパースが遅くなる理由と、HotXLSがセルあたりのヒープ割り当てを20から9.1へ削減し、1.90倍の並列高速化を達成した方法を解説します
HotXLSはDelphiから埋め込みsRGB出力インテント、pdfaidメタデータ、アーカイブ検証ツールが確認するフォント規則を備えたアーカイブ用PDF/Aへスプレッドシートをエクスポートする
HotXLSはレコード番号ではなくレコード本体からPivotCacheサブストリームのフレーミングを判定します。SXStreamID、SXDBヘッダー、ストリーム名の3か所一致、SXDBBの先頭長による方言の決定、無損失の書き換え条件まで解説します
HotXLSを使用してDelphiでXLSXピボットテーブルを構築:AddPivotTable、集計アイテムと集計フィールド、showDataAs値表示、日付グループ化、およびインプロセス更新
HotXLSがインポートしたExcelチャートの元のChartMLを保持しながらDelphiでタイトル、系列、軸を編集し、2つの軸を持つ複合チャートを構築する仕組みを丁寧に解説する
HotXLS Delphi Component の protection, page setup, and printing を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi または C++Builder コードから直接 Excel
HotXLSがDelphiでXLS、XLSX、ODS、CSVのストリーミング読み取りを1つのプル行カーソルへ統合する方法を解説。明示的な6状態マシン、冪等なCancel、コピーなしの行ビュー、PeakRowBufferedBytesまで扱います
HotXLSを使用してDelphiでR1C1数式をコンパイルする方法:セルごとに R2C3、R[-1]C[2]、RC などを解決する GetCompiledFormulaR1C1 により、1つの相対数式で列全体に入力可能 HotXLSは、 を介して、R1C1参照表記で記述された数式をコンパイルします
HotXLSが大規模Delphiブックをメモリ効率よく保つ仕組みを解説する:256行単位のセルブロック、空セルを実体化しない区間スタイルオーバーレイ、そしてストリーミング保存を扱う
セルを読み込まずに XLS、XLSX、ODS のシート名だけを Delphi で取得します。HotXLS の GetSheetNames、暗号化ファイルの検出、取り込み時の振り分けを解説します
HotXLSを使用してDelphiでExcelスパークライン(折れ線、柱、勝敗)を作成する方法:ARGBカラースロット、およびExcel 2010以降が描画するx14 extLst拡張ブロックについて解説
ExcelのNORM、CHISQ、BETA関数の裏には本物の数値解析があります。HotXLSがDelphiで正則化ガンマと正則化ベータを使ってこれらを計算する方法と、裾に潜んでいた対数のバグを解説します
100万行のXLSXをメモリに収める必要はありません。Delphiにおいて、HotXLSがDOMを使用しないストリーミングリーダーを使用し、ほぼ一定のメモリでワークシートのパーツをどのようにスキャンするかを紹介します
巨大なXLSXの生成は行数に比例して増加するべきではありません。DelphiでHotXLSがインライン文字列を使用し、共有文字列テーブルなしでOOXMLをどのようにストリーミングするかをご覧ください
HotXLSのStreamingWrite、行単位の書き込みコールバック、スタイルプールの再利用、スレッドごとのワークブックによって、大きなXLSX出力をメモリ上限の内側に収める方法を解説します
HotXLSはDelphiからISO/IEC 29500 Strict形式のワークブックを書き出し、パッケージ内のすべてのパーツをpurl語彙へ変換しつつ、Strictが禁じる機能は拒否します
HotXLSはブール型のSaveとOpenの結果を構造化診断に置き換える仕組みを解説する:安定したエラーコード、重大度レベル、そしてDelphiアプリ向けのシート単位コンテキストを扱う
HotXLSでDelphiからTable[Column]形式の構造化参照を評価し、項目指定子、列範囲、そのままのラウンドトリップ、未対応の現在行形式も扱う
v2.197.0以前のHotXLSでSUBTOTAL 109と109が同じ合計を返す理由と、行の非表示状態を問い合わせるコールバックがDelphiでAGGREGATEの隠し行を修正する仕組みを解説する
HotXLSでDelphiからExcelテーブルスライサーを作る方法:一致が必須の8つのパート、スライサーキャッシュが常に再構築される理由、ridチェーンが安定を保つ仕組みを解説します
HotXLS が代替テキストを持つワークシート画像を独立した PDF の Figure 構造要素へ変える方法と、ページごとに 1 つの MCID アロケータが必須である理由を解説します
HotXLS Delphi Component の template-based report generation を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi または C++Builder コードから直接 Excel
HotXLSを使用してDelphiでExcel 365スレッドコメントを書き出す方法:AddThreadedComment返信チェーン、personパーツ、および従来のメモとの違いを解説
HotXLSはWindowsのfontsub.dll CreateFontPackage APIを通じて埋め込みPDFフォントをサブセット化し、Delphiワークシートのエクスポートが実際に使ったグリフだけを残す
非ASCIIテキストは、RTF、HTML、CSV、ZIPエクスポート全体で疑問符に崩れる可能性があります。HotXLSがDelphiでのすべてのエクスポートパスでUnicodeを無傷に保つ方法をご覧ください
DelphiのコードでXLSやXLSXのワークブックを編集するときに、HotXLSがVBAプロジェクトと外部リンクをどう保持するかを解説します。マクロ有効での保存、リンク先、ラウンドトリップの限界を扱います
HotXLSはDelphi開発者がVBAモジュールのソースコードを書き換え、MS-OVBAアルゴリズムで再圧縮したうえで、そのマクロをXLSまたはXLSMファイルへ書き戻せるようにする
HotXLS Delphi Component の workbook audit and conversion workbench を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi または C++Builder コードから直接 Excel
HotXLSはDelphiから2つのワークブックを比較し、シート・セル・数式・結合セルの差分を、構造化されたリストと読みやすいレポートの両方として報告します。Excelは不要です
HotXLSを使ってDelphiからExcelの文書プロパティを設定し、読み取る方法です。タイトル、作成者、会社、キーワードを、BIFFのSummaryInformationとOOXMLのdocPropsパートにまたがって扱います
HotXLSがDelphiでO(1)の読み取りリース、フェイルファストな書き込みガード、再入可能なトランザクション、世代カウンタによりブックの読み書きを調整する方法を解説。衝突は待たせず即座に失敗させます
HotXLSは、Excelのコピー、プリンタードライバー、および外部DLLを使用せずに、SaveAsPDFを介してDelphiおよびC++BuilderでExcelワークシートを自動改ページ付きのPDFにレンダリングします
HotXLSがDelphiでXLOOKUPとXMATCHを評価する方法:正当なmatch modeとsearch mode、O(log n)のバイナリ降下、重複キーの端、そしてワイルドカードが拒否される理由
HotXLSのSaveAsEncryptedでDelphiからAES暗号化されたXLSXファイルを書き出す方法を解説する:ECMA-376標準暗号化、パスワード処理、書き込み専用という復号の制限を扱う
xl/worksheets/sheet1.xmlをハードコードすることが有効なXLSXファイルを壊す理由と、HotXLSがDelphiでOPCリレーションシップのターゲットをソースパートに対して解決する仕組み 有効なxlsxが を含んでいなければならないという決まりはない。DelphiとC++Builder向けのネイテ
HotXLSがDelphiでXLSX共有数式のフォロワーを展開する仕組み:siのマスターを見つけ、相対参照をシフトし、自己終端f要素を生き延びる方法を解説 XLSXの共有数式のフォロワーは数式のテキストを一切運ばない。その 要素はシート内の別の場所にあるマスターセルを指しており、リーダーはマスターの数式を行と列の差分だ
操作ごとのXLSXシート保護をDelphiで設定するHotXLS。15個のAllowOption権限ビット、OOXMLの「省略=許可」ルール、往復保存でも壊れにくい解析に対応します
HotXLSのDuplicateおよびCopyFromを使用してDelphiでスタイル設定されたXLSXワークシートをクローン:ディープコピーされる内容、シャローコピーにとどまる内容、および複製先でグラフを再構築する方法について解説します 1枚のワークシートを完璧に作り上げたとします
HotXLSが4つの相互チェックでZIPのend of central directoryレコードをどう検証し、ZIPコメントに隠された偽造EOCDがDelphiパーサーを騙せないようにするか
HotXLSがDelphiで1つの共有ZIPパッケージストリームから多数のXLSXワークシートを並行に伸長する方法を解説する:seekとreadのペアだけをロックするリードゲートを扱う
HotXLSのワークシートCRC32チェックサムは、zlib-ngがChorbaパスを選ぶと1MBのワーカースレッドスタックを溢れさせることがある。データを64KB単位で供給することでそのクラッシュを回避する