AGGREGATE Options and Nested Gates in HotXLS for Delphi
How HotXLS decodes the AGGREGATE options matrix in Delphi and keeps the ignore-hidden and nested-SUBTOTAL gates from leaking into precedent formulas
Software Development Blog
HotXLS Delphi Component tutorials for generating and reading Excel spreadsheets in Delphi
How HotXLS decodes the AGGREGATE options matrix in Delphi and keeps the ignore-hidden and nested-SUBTOTAL gates from leaking into precedent formulas
A tampered Agile-encrypted XLSX still decrypts under AES-CBC. HotXLS for Delphi checks the HMAC-SHA-512 dataIntegrity block first and sets XLS modify passwords
HotXLS opens Agile-encrypted XLSX files in Delphi: OpenEncrypted reads the XML descriptor, derives keys with SHA-512 or SHA-256, then decrypts AES-CBC segments
Inserting a row inside a conditional format or validation range can leave two rules in HotXLS for Delphi, each with a rebased formula, and renumbered priorities
HotXLS stores array-operator formulas like SUM(A1:B1*{10,100}) as Excel 365 dynamic arrays in XLSX and XLS from Delphi, so Excel shows the value, not #VALUE!
HotXLS evaluates saved Excel AutoFilters in Delphi: value lists, date groups, Top 10, dynamic dates, color and icon filters, with a frozen date and hard limits
A BIFF record that declares a 24-byte body and writes 26 makes chart sheets vanish on reopen. Why the drift hides, and how to find and prevent it in Delphi
How HotXLS classifies BIFF SupBook and XTI records in Delphi, why same-sheet, add-in and DDE or OLE links cannot be guessed from a self flag or empty URL
How HotXLS writes Excel 5.0/95 XOR-protected XLS files that Excel 16 opens: CreateXorKey_Method1 key, XorRor array, XorArrayIndex and Delphi code
HotXLS opens pre-OLE Excel 2.0, 3.0 and 4.0 workbooks from Delphi, reading raw BIFF streams, per-generation cell records and cached formula results
How HotXLS maps RGB and theme colors onto the 56-slot BIFF8 palette with deterministic OKLab matching, read-only palette plans and an opt-in XLS save policy
Why a BIFF8 AutoFilter saved as a string DOPER matches no numeric cells in Excel, and how HotXLS writes number, Boolean and AND/OR criteria in Delphi XLS files
How HotXLS writes BIFF8 secondary axis groups in Delphi: AXESUSED, two AxisParent blocks, and why the chart group lives inside each axis group
HotXLS anchors a BIFF8 chart substream to a worksheet as an OBJ type-5 host control, so the chart sits beside the data instead of occupying its own sheet
Why BIFF8 font indexes never use 4, and how HotXLS keeps XF records, rich text strings, comment and text box runs bound to the right FONT record in Delphi
PivotTables are the most intricate structure in the .xls binary format. See how HotXLS builds a self-contained pivot cache and packs SXDBB records in Delphi
How HotXLS for Delphi writes BIFF8 Selection records in 1369-area chunks, maps pane codes explicitly, and splits pane scroll between Window2 and Pane
How HotXLS decodes BIFF8 XLUnicodeString payloads in Delphi: GetWideString counts bytes, fHigh 0 maps each byte to U+00xx, and a wrong pairing fails silently
HotXLS evaluates PRICE, YIELD, DURATION, coupon-date and treasury-bill functions from Delphi, with all five day-count bases and no Excel installed
HotXLS decodes worksheet metafile pictures into a bounded command scene instead of handing the bytes to GDI playback, with budgets and fail-closed parsing
Excel stores each formula result next to the formula. HotXLS reads those cached values in Delphi without recalculating, so extracts leave workbooks untouched
HotXLS creates Excel camera objects from Delphi, placing a live picture of a cell range that Excel re-renders on load, with round-trip preservation of the link
TXLSCellImageExporter renders any XLS or XLSX cell rectangle to one PNG or JPEG with no pagination, explicit pixel and byte budgets and an atomic replace
Build a CF_HTML clipboard payload in Delphi with HotXLS so Excel ranges paste into Word or a browser with styling intact, using precise byte offsets
How HotXLS renders Excel chart date axes in Delphi: workbook serials, month-end tick clamping, automatic day, month and year units, and exact dateAx round trips
HotXLS replays untouched Excel charts byte for byte from Delphi by resolving drawings via relationships, fingerprinting after parsing and keeping anchor offsets
XLSX files never store trendline label text. HotXLS XLSTrendlineEquationLabel rebuilds the equation and R-squared strings in Delphi to match DataLabel.Text
Excel waterfall and treemap charts live in cx:chartSpace parts, not chart1.xml. How HotXLS writes them from Delphi: layoutId, treemap levels, AlternateContent
How to add Excel charts, images, and shapes from Delphi with HotXLS: chart sheets in XLS, embedded charts and pictures in XLSX, EMU sizing, and anchor traps
Excel column width is measured in Max Digit Width units, so a non-Calibri Normal font shifts every column boundary. How HotXLS measures MDW in Delphi
Write cell comments with authors, external URLs, and in-workbook links from Delphi using HotXLS, including the XLSX internal-link API and XLS comment quirks
HotXLS parses Compound File Binary containers in pure Pascal: header signature, chained DIFAT, FAT and MiniFAT chains, nested storages, with no ole32.dll or COM
Ten percent of 27 cells is 2.7, yet Excel paints three. How HotXLS evaluates conditional formatting in Delphi: rank rounding, ties, deviation bands, duplicates
Apply cellIs rules, data bars, icon sets, and rich text runs from Delphi with HotXLS, avoiding the dxf style and font pool index traps in XLSX files
When a Delphi constructor raises, the RTL calls Destroy on a half-built object. See how nil-safe destructors in HotXLS keep EOutOfMemory intact and how to retry
HotXLS saves XLSX, ODS, and XLS in Delphi through a staged temp file and an atomic Windows rename, so an interrupted save cannot corrupt the workbook
Five constructs newer Delphi compilers accept but XE5 rejects, how HotXLS keeps one Object Pascal codebase building from XE5 on, and how to probe the matrix
Copied Delphi worksheets can total the wrong sheet or turn formulas into links and values. HotXLS AddCopy rebinds formulas, charts and fonts by name and value
Recalculating a linked workbook can still print stale rates. HotXLS RegisterExternalWorkbook lets Delphi formulas read the open companion file, not its cache
Export Excel sheets to CSV, TSV, and HTML from Delphi with HotXLS. Covers RFC 4180 quoting, UTF-8 BOM, and why formulas need Calculate before export
A click inside a merged Excel range can land on an empty cell. HotXLS TXLSWorkbookViewer snaps to the anchor and handles scrolling, comments and links in Delphi
Add dropdown validation, AutoFilter criteria, and Excel tables from Delphi with HotXLS, including server-side filter preview and the 0-based column ID trap
Export TDataset results to Excel from Delphi with HotXLS: TDataToXLS grouping and paging, the VCL dependency trap, XLSX conversion, and a service-safe loop
An Excel date is just a number until you know which epoch it counts from. See how the 1900 and 1904 systems differ by 1462 days and how numFmt flags a date
Cached formula values can drift from their formulas. HotXLS RecalcAndVerifyEx recomputes each formula in Delphi, lists stale caches and leaves the file intact
How HotXLS applies Excel implicit intersection to defined names in scalar positions so loan templates with named columns recalculate without false cycles
Create workbook-scoped and sheet-scoped defined names with HotXLS in Delphi, write cross-sheet formulas that survive edits, and avoid _xlnm name conflicts
A naive formula edge builder runs billions of cell rectangle tests. HotXLS indexes array formula outputs by maximum row to keep Delphi dependency graphs fast
How Excel document timestamps map between FILETIME, MS-OLEPS property IDs, W3CDTF stamps and UTC in Delphi with HotXLS, and the traps a round-trip test hides
Excel dropdowns can pull items from inline lists, ranges or defined names; HotXLS in Delphi resolves them, picks entries by index or text and checks typed input
A FILTER or SORT formula fills a whole block of cells. HotXLS for Delphi sizes each spill on Recalculate, returns #SPILL! when blocked and saves it for Excel
Excel's DEC2BIN, HEX2DEC and IMSUM functions hide ten-bit two's complement and string-encoded complex math. See how HotXLS implements them in Delphi
Excel stores a fictional February 29, 1900 as serial 60. Preserve that value and its fractional times when reading and saving XLSX with HotXLS in Delphi
Why HotXLS returns FALSE for chained comparisons as Excel does, how blank cells compare equal to 0 and empty text, and how SUMIF resizes a one-cell sum range
Why Excel shows the repair prompt on an XLSX other readers accept: a required phoneticPr fontId, one Override per part and unique root rIds in Delphi writers
How HotXLS compares text like Excel in Delphi: locale word sort, case-insensitive, hyphens only break ties, and why CompareText and ordinal sorts disagree
How HotXLS matches Excel wildcards in Delphi: COUNTIF reads a~b literally, MATCH treats ~ as an escape, DSUM matches prefixes and whole-cell Find backtracks
Why stopping a Delphi file monitor inside its own callback can deadlock, and how HotXLS TXLSFileMonitor tracks callback thread ownership to release safely
Evaluate Excel formulas in Delphi with HotXLS: the Calculate engine, OnUserFunction custom functions, array formulas, and why CSV export needs computed values
Excel can evaluate a formula one step at a time. See how HotXLS reproduces that step-by-step reduction for auditing and debugging spreadsheets in Delphi
How HotXLS shifts A1 formula references when you insert or delete rows and columns in Delphi: relative and absolute refs, range endpoints, and #REF! rules
Free Pascal builds of HotXLS keep String in UTF-16 via DELPHIUNICODE, declare CORBA interfaces for the Windows COM slots and swap OMF objects for Pascal AES
How HotXLS writes theme-colored chart fills into binary XLS: the GelFrame record, the OfficeArt scheme index in the red byte, and the MSOTINT payload
Size embedded XLSX images by physical dimensions in Delphi with HotXLS: EMU units explained, centimeter and point geometry, aspect-locked scaling, cm margins
A logo placed in a worksheet opens as a 100x100 square when its image header goes unread. How HotXLS reads GIF, BMP and JPEG pixel sizes in Delphi
HotXLS Workbook.Recalculate builds a formula dependency graph in Delphi to re-evaluate only dirty cells: volatile functions, topological order, cycle handling
HotXLS rewrites one worksheet inside an existing XLSX package from Delphi while every untouched part crosses over with its compressed bytes verbatim
Resolve intentional circular references in Delphi with HotXLS: iterative calculation via Iterate, IterateCount and IterateDelta, and how the cycle converges
Defined names holding LAMBDA and closures bound inside LET run in Delphi with HotXLS: call resolution order, lexical capture, shadowing, arity and separators
Practical HotXLS performance tuning for large Excel files in Delphi: StreamingWrite saves, style pool reuse, row callbacks, and faster read-only loads
Why Excel refuses XLSX list validations longer than 255 characters, how XLSB and x14 extensions differ, and how HotXLS for Delphi handles each list format
Why VLOOKUP over a column containing the formula itself is legal in Excel, and how HotXLS separates scan edges from ordering edges to stop false cycles
How HotXLS preserves custom themes, unknown extLst blocks, and calcChain when Delphi code edits one cell in an XLSX file, and where round-trip fidelity ends
How HotXLS handles merged cells in Delphi report templates: anchor-cell semantics, InsertRows shifting rules, merge audits, and HTML and RTF export behavior
A large XLSX can answer sheet, name and link questions before any cell is parsed: HotXLS MetadataOnly, SelectedSheets and LoadSheet scope each Delphi Open call
How HotXLS keeps ODS data pilot tables through a Delphi open and save cycle by replaying the XML subtree verbatim, and why ancestor xmlns bindings ride along
How HotXLS writes ODS files from Delphi that Excel 16 and LibreOffice both read: OpenFormula references, declared namespaces and dual conditional format markup
HotXLS opens and saves OpenDocument Spreadsheet files from Delphi: SaveAsODS export options, what the ODS import path reads back, and what survives a round trip
A million repeated ODS rows in Delphi: HotXLS keeps row heights as runs, inherited blank-cell styles as range overlays, and writes repeat counts back on save
Two encryption traps where the password is right but Excel reports corruption. See how an ECB versus CBC mix-up and an RC4 re-key drift break interop in Delphi
Build XLS and XLSX workbooks from Delphi services without installing Excel: native BIFF and OOXML writers, stream output to HTTP responses, COM-free
HotXLS verifies XLSX package signatures in Delphi without Excel: XML-DSig digests, C14N, relationship selectors, WinCrypt trust policy and safe re-signing
Extra threads can leave Delphi XLSX parsing no faster when the memory manager serializes small allocations. How HotXLS splits Open and cuts allocations per cell
HotXLS exports spreadsheets to archival PDF/A from Delphi with an embedded sRGB output intent, pdfaid metadata and the font rules an archive validator checks
A Pivot table can keep live cache values while omitting saved cache records. Set saveData deliberately and inspect the XLSX package with HotXLS in Delphi
The BIFF PivotCache substream frames SXDB, SXDBB and SXFDB by body layout rather than record number, and HotXLS latches the dialect from the first record
A pivot rank column can turn back into plain sums after Refresh. How HotXLS writes Show Values As from Delphi: dense rank, running total, x14 pivotShowAs URI
A descending Excel pivot that reloads in label order lost its measure: autoSortScope stores Values as 4294967294. How HotXLS reads and writes it in Delphi
Excel pivot tables built in Delphi with HotXLS: AddPivotTable, calculated fields and items, percent-of-total displays, date grouping and cache refresh
How Excel precision as displayed rounds stored values by format section, percent signs and scaling commas, and how HotXLS matches Excel 16 in Delphi
HotXLS preserves the original ChartML of an imported Excel chart while you edit titles, series and axes in Delphi, and builds combination charts with two axes
Protect worksheets, keep input ranges editable, and control print layout in Delphi with HotXLS: Locked flags, page setup, scaling, and header codes
How HotXLS unifies XLS, XLSX, ODS and CSV streaming reads behind one pull row cursor in Delphi: explicit state machine, idempotent Cancel and borrowed row views
One R1C1 formula such as R[0]C[-2]*R[0]C[-1] can fill a whole Delphi column: HotXLS resolves R2C3, R[-1]C[2] and RC against each host cell, then compiles
HotXLS evaluates Excel 365 REGEXTEST, REGEXEXTRACT and REGEXREPLACE offline in Delphi with static UTF-16 PCRE2, array broadcasting and ReDoS step budgets
How HotXLS keeps large Delphi workbooks small in memory: 256-row cell blocks, interval style overlays that never materialize empty cells, and streamed saves
Read worksheet names from XLS, XLSX, and ODS files in Delphi without loading cell data: HotXLS GetSheetNames, encrypted-file detection, intake triage
Two hundred trend charts bloat an XLSX; one sparkline group does not. HotXLS writes line, column and win/loss sparklines into the x14 extLst block from Delphi
Excel NORM, CHISQ and BETA functions hide real numerical analysis. See how HotXLS computes them with regularized gamma and beta in Delphi, and a tail log trap
A million-row XLSX need not fit in memory. See how HotXLS scans worksheet parts with a no-DOM streaming reader at near-constant memory in Delphi
Generating a giant XLSX should not grow with row count. See how HotXLS streams OOXML with inline strings and no shared-string table in Delphi
Keep large XLSX exports inside memory limits with HotXLS StreamingWrite, row-level write callbacks, style pool reuse, and per-thread batch workbook jobs
HotXLS writes ISO/IEC 29500 Strict workbooks from Delphi, translating every package part to purl vocabularies and refusing the features Strict forbids
HotXLS replaces boolean Save and Open results with structured diagnostics: stable error codes, severity levels, and sheet context for Delphi apps
Excel table formulas such as Sales[Amount] and [@Qty] compute in Delphi with HotXLS: item specifiers, column spans, per-row resolution and verbatim round-trip
How HotXLS makes SUBTOTAL 109 and AGGREGATE skip hidden and filtered rows in Delphi, with a row-hidden callback gate and a central arity check in the dispatcher
A table slicer cache names its table by a bare tableId, so copied bytes break once tables renumber. HotXLS rebuilds it in Delphi and keeps rIds consistent
How HotXLS turns worksheet pictures carrying alternative text into independent PDF Figure structure elements, and why one MCID allocator per page is mandatory
Fill Excel report templates from Delphi with HotXLS: locate placeholders with FindText, clone detail rows, insert rows safely, and recalculate before saving
Write Excel 365 threaded comments from Delphi with HotXLS: AddThreadedComment reply chains, the threadedComments and person parts, and legacy note differences
HotXLS subsets embedded PDF fonts via the Windows fontsub.dll CreateFontPackage API, keeping only the glyphs a Delphi worksheet export actually used
Non-ASCII text can collapse to question marks across RTF, HTML, CSV and ZIP exports. See how HotXLS keeps Unicode intact on every export path in Delphi
HotXLS denies CALL, REGISTER.ID, WEBSERVICE, DDE and 16 other formula names before argument evaluation, so a preserved formula never runs Delphi host callbacks
How HotXLS preserves VBA projects and external links when Delphi code edits XLS and XLSX workbooks: macro-enabled saves, link targets, and round-trip checks
HotXLS lets Delphi developers rewrite VBA module source code and recompress it with the MS-OVBA algorithm, then write the macros back into XLS or XLSM files
Audit unknown Excel files from Delphi with HotXLS: count charts, formulas, macros, and protection, then convert XLS, XLSX, and ODS with a known fidelity profile
HotXLS compares two workbooks from Delphi and reports sheet, cell, formula and merge differences as a structured list and a readable report, no Excel
Set and read Excel document properties from Delphi with HotXLS: title, author, company, and keywords across BIFF SummaryInformation and OOXML docProps parts
How HotXLS coordinates workbook reads and writes in Delphi using O(1) read leases, fail-fast write guards, reentrant transactions and a generation counter
HotXLS renders Excel worksheets to paginated PDF in Delphi and C++Builder with SaveAsPDF and no Office: fills, borders, fonts, embedded fonts for Unicode text
How HotXLS evaluates XLOOKUP and XMATCH in Delphi: legal match and search modes, O(log n) binary descent, duplicate key edges, and why wildcards get rejected
HotXLS saves classic XLS files cache first, writing loaded formula values instead of recalculating, and keeps the cached value of BIFF shared formula root cells
How HotXLS opens and saves Excel XLSB binary workbooks from Delphi, what the validated subset covers, and why default fonts and built-in formats matter
Why HotXLS writes XLSX numbers with 17 significant digits and corrects RTL parsing on read, so each Delphi double survives an Excel save and reopen bit for bit
Sheet protection leaves XLSX data readable. HotXLS SaveAsEncrypted writes AES-128 Standard Encryption in Delphi, SaveAsEncryptedAgile AES-256, with save checks
An XLSX font name and its family classification describe different things. See how to preserve and inspect both with HotXLS when saving a workbook in Delphi
How HotXLS saves #SPILL! and #CALC! caches Excel reads: lowercase rich value GUID, fileVersion 7, calcId 191029, the RD calc feature and t=str array text
Why hardcoding xl/worksheets/sheet1.xml breaks valid XLSX files, and how HotXLS resolves OPC relationship targets against the source part in Delphi
How HotXLS writes XLSX pivot fields that pass the ECMA-376 schema from Delphi: ST_Axis tokens, dataField flags, non-empty items, subtotal items and numFmtId
A later column format can be obscured by a row default after XLSX save. Inspect intersecting cell styles and preserve formatting order with HotXLS in Delphi
How HotXLS expands XLSX shared formula followers in Delphi: find the si master, shift relative references, and survive self-closing f elements
Set per-action XLSX sheet protection in Delphi with HotXLS: 15 AllowOption permission bits, the OOXML omit-equals-allow rule, and round-trip-safe parsing
Clone a styled XLSX worksheet in Delphi with HotXLS Duplicate and CopyFrom: what deep-copies, what stays shallow, and how to rebuild charts on the copy
How HotXLS validates the ZIP end of central directory record with four cross checks so a forged EOCD hidden in a ZIP comment cannot fool your Delphi parser
Two Delphi threads seeking one ZIP stream read each other's bytes. HotXLS inflates XLSX worksheets in parallel by locking only the seek and read on the package
zlib-ng switches to a stack-hungry Chorba CRC32 path above 119 KB, enough to overflow a 1 MB Delphi worker stack, so HotXLS feeds checksums in 64 KB slices