HotXLS 检测被篡改的 XLSX: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 中应对行或列编辑:当操作把条件格式或数据验证规则的应用范围切分开时,自动拆分为带优先级的多个独立规则对象,适用于 Delphi 和 C++Builder 项目
HotXLS 的 Pivot 发射器声明 BIFF 体长为 24 字节却写入 26 字节,导致图表工作表重新打开后消失;这里说明修复方式和定位方法
HotXLS 如何在 Delphi 中分类 BIFF SupBook 与 XTI 记录:同表、加载项、DDE 与 OLE 链接为何无法从 self 标志或空 URL 猜出,以及七类记录的哨兵分发
HotXLS 从 Delphi 直接打开 Excel 2.0、3.0 和 4.0 编写的工作簿,读取原始 BIFF 记录流、各代不同的单元格记录以及缓存的公式结果
HotXLS 如何在 Delphi 中写入 BIFF8 次坐标轴组:AXESUSED、两个 AxisParent 块,以及为什么图表组位于每个轴组内部
HotXLS 把 BIFF8 图表子流作为 OBJ 类型 5 的宿主控件锚定到工作表,写出与 Excel 一致的记录布局,图表因此落在数据旁边而不是独占一张图表工作表,读取侧早已就位
数据透视表是 .xls 二进制格式中最复杂的结构。本文介绍 HotXLS 如何在 Delphi 中构建自包含的数据透视缓存、打包 SXDBB 记录,并处理 SXLI、SXPI、原始 blob 与类型化模型,确保读写往返保持可靠,帮助需要兼容旧版 Excel 文件的开发者定位底层记录关系
HotXLS 如何在 Delphi 中解码 BIFF8 XLUnicodeString:GetWideString 按字节计数,fHigh 为 0 时使用 GetString,错误配对会静默失败
HotXLS 从 Delphi 计算 PRICE、YIELD、DURATION、票息日期和国库券函数,支持全部五种计日基准,且无需安装 Excel
HotXLS 把工作表里的 EMF 与 WMF 图片解码成带预算上限的有界命令场景,而不是把字节流交给 GDI 回放;头部、记录大小与 EOF 位置校验失败即拒绝,转义记录一律不予执行
HotXLS 在 Delphi 中直接读取 Excel 已存好的公式缓存值而不触发重算,ETL 作业保持快速,源工作簿逐字节不变;统一覆盖 BIFF、OOXML 与 ODF 三种引擎
HotXLS 从 Delphi 创建 Excel camera 对象,放置一张单元格区域的实时图片,Excel 会在打开时重新渲染,且往返读写会保留这一链接
TXLSCellImageExporter 把任意 XLS 或 XLSX 单元格矩形渲染成一张 PNG 或 JPEG:没有分页与页边距,带显式像素与字节预算,写盘走同文件夹原子替换,失败时保留旧文件
使用 HotXLS 在 Delphi 中构建 CF_HTML 剪贴板负载,让 Excel 区域粘贴到 Word 或浏览器中时仍保留原有样式,并准确处理字节偏移,适用于 Delphi 和 C++Builder 项目
用 HotXLS 从 Delphi 写 Excel 瀑布图和树状图:cx chartSpace 部件、layoutId 系列类型、cx pt 缓存与 AlternateContent 锚点,以及决定 Excel 能否打开文件的四条 schema 规则
了解如何在 Delphi 中使用 HotXLS 添加 Excel 图表、图像和形状:XLS 中的图表工作表、XLSX 中的嵌入图表和图片、EMU 尺寸调整以及锚点陷阱,适用于 Delphi 和 C++Builder 项目
Excel 列宽以最大数字宽度 MDW 为单位,Normal 字体不是 Calibri 时所有列边界都会偏移,本文说明 HotXLS 如何在 Delphi 中用 GDI 实测 MDW
在 Delphi 中用 HotXLS 写入带作者的单元格批注、外部 URL 与工作簿内跳转链接,涵盖 XLSX 内部与外部链接两套 API 及 XLS 批注差异,适用于 Delphi 和 C++Builder 项目
HotXLS 用纯 Pascal 解析 Compound File Binary v3 容器:头部签名、头内 DIFAT、FAT 链、MiniFAT 与目录树结构,完全不依赖 ole32.dll
了解 HotXLS 如何在 Delphi 中脱离 Excel 求值条件格式规则,以及 Excel 16 测试锁定的前 10%、高于平均值和重复值等具体情形,适用于 Delphi 和 C++Builder 项目
在 Delphi 中用 HotXLS 应用 cellIs 规则、数据条、图标集与多格式富文本,并避开 dxf 样式与字体池索引在 XLSX 文件中的常见陷阱,适用于 Delphi 和 C++Builder 项目
HotXLS 在 Delphi 中通过暂存临时文件与 Windows 原子重命名来保存 XLSX、ODS 和 XLS,因此中断保存不会损坏工作簿数据,适用于 Delphi 和 C++Builder 项目
五个只在 Delphi XE5 上触发的编译器拒绝,以及为什么只运行最新编译器的构建脚本会让 HotXLS 构建矩阵悄悄失效并漏掉旧版本问题
HotXLS 的 AddCopy 方法在 Delphi 中跨工作簿复制 Excel 工作表,并为目标工作簿重新绑定公式、图表引用与字体索引,适用于 Delphi 和 C++Builder 项目
用 RegisterExternalWorkbook 注册第二个工作簿后,HotXLS 会让 =[Rates.xlsx]FX!B4 这类公式直接读内存里的实时对象,而不是过期缓存;取消注册就退回文件自带的外部链接缓存
在 Delphi 中用 HotXLS 把 Excel 工作表导出为 CSV、TSV 与 HTML,涵盖 RFC 4180 引号规则、UTF-8 BOM,以及公式导出前为何必须先执行 Calculate
HotXLS 的 TXLSWorkbookViewer 可将 Excel 工作簿渲染为 Delphi 网格,支持合并单元格命中测试、滚动同步、单元格选择以及超链接和批注事件 HotXLS 提供 原生 VCL 控件,可在 Delphi 或 C++Builder 窗体内将 XLS、XLSX、XLSM 和 ODS
在 Delphi 中用 HotXLS 添加下拉验证、AutoFilter 条件与 Excel 表格,涵盖服务器端筛选预览,以及 AutoFilter 列号是 0 基偏移的常见陷阱,适用于 Delphi 和 C++Builder 项目
用 HotXLS 从 Delphi 把 TDataset 结果导出到 Excel:TDataToXLS 的分组与分页、VCL 依赖陷阱、XLSX 转换,以及服务端安全的循环写法
Excel 日期序列只有结合纪元和 numFmt 才有意义。本文说明 1900 与 1904 日期系统为何相差 1462 天、HotXLS 如何映射 TDateTime,以及如何在 OOXML 和 BIFF 文件中正确识别格式、处理 MULRK 与日期读写,避免跨平台工作簿出现日期偏移和类型误判
HotXLS 在隔离的覆盖层里重算每一条公式,把每个结果与单元格缓存值逐一对比并报告不一致、分类失败原因;全程只读,只有整趟审计完全干净且未取消时,才会按你的要求把修复提交回工作簿
在 Delphi 中使用 HotXLS 创建工作簿作用域和工作表作用域的已定义名称,编写在编辑后仍能保持有效的跨工作表公式,并避免 _xlnm 名称冲突,适用于 Delphi 和 C++Builder 项目
在 Delphi 中使用 HotXLS 求值 Excel 365 动态数组溢出公式:支持 XLOOKUP、FILTER、SORT、UNIQUE 和 SEQUENCE,并通过 SetArrayFormula 进行锚定
Excel 的 DEC2BIN、HEX2DEC 和 IMSUM 函数隐藏了十位补码和字符串编码的复数数学。了解 HotXLS 如何在 Delphi 中实现它们 Excel 中的工程函数系列读起来像是函数参考中最简单的部分。 将数字转换为二进制字符串。 将其转换回。 将两个复数相加。每一个看起来都像是格式化练习
HotXLS 在主线程上触发 TXLSFileMonitor 事件而工作线程在等待,所以在 OnFileChanged 里直接停掉监视器必然死锁,修复是让线程对象携带当前正在运行的回调身份,据此选择 FreeOnTerminate 自释放还是 WaitFor
在 Delphi 中用 HotXLS 求值 Excel 公式:Calculate 引擎、OnUserFunction 自定义函数、数组公式,以及为何 CSV 导出必须先算出数值,适用于 Delphi 和 C++Builder 项目
Excel 内置了逐步求值公式的调试方式,了解 HotXLS 如何在 Delphi 中完整重现这一步步化简的过程,方便对电子表格公式进行审计和调试,适用于 Delphi 和 C++Builder 项目
了解在 Delphi 中插入或删除行列时,HotXLS 如何平移 A1 公式引用:相对与绝对引用、范围端点,以及 #REF! 出现的具体规则,适用于 Delphi 和 C++Builder 项目
在 Free Pascal 下构建 HotXLS 需要四项决定:DELPHIUNICODE 模式、带显式 COM 槽位与手工引用计数的 CORBA 接口、以 Pascal 实现的 AES 替代 Delphi 的 OMF 对象,以及修复一个可能把截断 ZIP 当完整的 inflate 循环
HotXLS 如何将主题颜色图表填充写入二进制 XLS:GelFrame 记录、红字节中的 OfficeArt 方案索引,以及 MSOTINT 载荷
在 Delphi 中使用 HotXLS 按物理尺寸设置内嵌 XLSX 图片的大小:EMU 单位解析、厘米与磅几何换算、锁定宽高比缩放,以及厘米边距设置,适用于 Delphi 和 C++Builder 项目
HotXLS 从 GIF、BMP 和 JPEG 头部读出真实像素尺寸,让 AddPicture 写入真实几何而不是会拉伸图片的 100x100 兜底值;GetGifSize、GetBmpSize、GetJpegSize 各自处理逻辑屏幕描述符、DIB 头部大小和 SOFn 标记区间
HotXLS 的 Workbook.Recalculate 在 Delphi 中构建公式依赖图,只重新评估脏单元格,涵盖易失函数、拓扑顺序与循环引用处理,适用于 Delphi 和 C++Builder 项目
TXLSDirectWriter.BeginPatch 打开现有 XLSX 包,把目标工作表以外的条目按压缩字节原样搬过去,只重写那一张表,图表、数据透视缓存、主题和共享字符串全程不解压
为了在 Delphi 中解决有意的循环引用,了解 HotXLS 如何通过 Iterate、IterateCount 和 IterateDelta 实现迭代计算并让公式循环收敛,适用于 Delphi 和 C++Builder 项目
使用 HotXLS 在 Delphi 中求值 Excel LAMBDA 闭包和完整的 LET 语义:具名 lambda、词法捕获、遮蔽规则与逗号分隔符
面向 Delphi 中大型 Excel 文件的 HotXLS 性能调优实用方法:StreamingWrite 保存、样式池重用、行回调,以及更快的只读加载方式,适用于 Delphi 和 C++Builder 项目
为什么在 Excel 里对包含公式自身的整列使用 VLOOKUP 属于合法计算,HotXLS 又如何把查找扫描边与求值排序边分成两类依赖,把全列引用所造成的虚假循环引用从重算引擎之中彻底清除干净
HotXLS 在 Delphi 只改动 XLSX 一个单元格时如何保住自定义主题、未知 extLst 块和 calcChain,以及往返保真度到哪里为止
HotXLS 在 Delphi 报表模板中如何处理合并单元格:锚点单元格语义、InsertRows 位移规则、合并审计,以及 HTML 与 RTF 导出行为
HotXLS 的 MetadataOnly 在 Delphi 中打开大型 XLSX 却不解析任何工作表单元格,配合 SelectedSheets 选择性加载、按需 LoadSheet 实体化被跳过工作表与 PreserveRawParts 原始分部原样保存,让目录扫描与定向编辑只付出所需解析成本
HotXLS 从 Delphi 打开并保存 OpenDocument 电子表格文件:SaveAsODS 导出选项、轻量的 ODS 导入路径,以及一次往返之后还剩下什么
密码正确但 Excel 报告工作簿损坏,通常是包转换而不是密钥派生出了问题。本文分析 Delphi 中 AES ECB 与 CBC 的差异、RC4 每 1024 字节重新密钥的同步规则,以及如何按 [MS-OFFCRYPTO] 精确生成兼容文件,帮助排查验证器通过但工作表内容损坏的互操作性问题
不装 Excel 就从 Delphi 服务构建 XLS 与 XLSX 工作簿:原生 BIFF 与 OOXML 写入器、把输出流式送进 HTTP 响应,全程不用 COM
为什么增加线程反而让 Delphi 中的 XLSX 解析变慢?了解 HotXLS 如何把每个单元格的堆分配从约 20 次削减到 9.1 次,实现 1.90 倍并行加速,适用于 Delphi 和 C++Builder 项目
HotXLS 在 Delphi 中把电子表格导出为归档级 PDF/A,内嵌 sRGB 输出意图、pdfaid 元数据,以及归档校验器会检查的字体规则
BIFF 的 PivotCache 子流按记录体布局而不是记录号框定 SXDB、SXDBB 与 SXFDB,HotXLS 从每个子流的第一条记录锁定方言,避免把旧式紧凑布局误读成规格布局
在 Delphi 中使用 HotXLS 构建 XLSX 数据透视表:支持 AddPivotTable、计算项与计算字段、showDataAs 值展示、日期分组以及进程内刷新,适用于 Delphi 和 C++Builder 项目
HotXLS 在导入时保留 Excel 图表的原始 ChartML 字节,未触碰的图表在保存时逐字节重放、被编辑的图表结构性合并进原始树而非从头重新生成而丢失自定义样式与扩展,AddPlotGroup 还能构建带主副坐标轴的组合图表,全程在 Delphi 进程内完成无需安装 Excel
在 Delphi 中使用 HotXLS 保护工作表、保留输入范围可编辑,并控制打印布局:锁定标志、页面设置、缩放比例与页眉页脚代码,适用于 Delphi 和 C++Builder 项目
HotXLS 用一个拉取式行游标 TXLSRowCursor 统一 XLS、XLSX、ODS 与 CSV 的流式读取:显式六值状态机区分首行之前、EOF 与已取消和故障,Cancel 幂等,行视图零拷贝借用
在 Delphi 中用 HotXLS 编译 R1C1 公式:GetCompiledFormulaR1C1 逐单元格解析 R2C3、R[-1]C[2] 和 RC,一条相对公式就能填满整列
HotXLS 把工作表单元格存入紧凑的 256 行块、用惰性区间叠加解析行、列与矩形格式而不为只带样式的空单元格创建对象,并在保存时把每一行直接送进压缩包 deflate 流一次一行地压缩,样式池在保存前自动压缩,让大型工作簿的峰值内存随最大单行而非整张工作表 XML 的大小伸缩
在 Delphi 中读取 XLS、XLSX 和 ODS 文件的工作表名,无需加载单元格数据:HotXLS GetSheetNames、加密文件检测与接收环节分流
在 Delphi 中使用 HotXLS 创建 Excel 迷你图:折线图、柱形图和盈亏图组、ARGB 颜色插槽,以及 Excel 2010 及更高版本渲染的 x14 extLst 块
Excel 的 NORM、CHISQ 和 BETA 函数背后是完整的数值分析。本文介绍 HotXLS 如何在 Delphi 中计算正则化伽马、贝塔、尾部概率和逆分布,保持与 Excel 的数值一致性,并修复只在尾部出现的对数分支误差,适合验证电子表格兼容性和统计结果的开发者使用 在单元格中输入 ,Excel
百万行 XLSX 无需全部载入内存,了解 HotXLS 如何在 Delphi 中以接近恒定的内存占用,用无 DOM 流式读取器逐项扫描工作表内容,适用于 Delphi 和 C++Builder 项目
生成超大 XLSX 文件时内存占用不应随行数增长,了解 HotXLS 如何在 Delphi 中以内联字符串且无共享字符串表的方式流式生成 OOXML,适用于 Delphi 和 C++Builder 项目
使用 HotXLS StreamingWrite、行级写入回调、样式池重用与每线程批处理作业,把大型 XLSX 导出的内存占用稳定控制在限制之内,适用于 Delphi 和 C++Builder 项目
HotXLS 从 Delphi 写出 ISO/IEC 29500 Strict 版工作簿,把包内每个部件都改用 purl 词汇表,并拒绝 Strict 不允许的特性
HotXLS 用结构化诊断替代 Save 和 Open 返回的布尔结果,为 Delphi 应用提供稳定错误码、严重级别以及具体的工作表上下文信息,适用于 Delphi 和 C++Builder 项目
使用 HotXLS 在 Delphi 中求值 Table[Column] 结构化引用:项目说明符、跨列区间、原样往返,以及不支持的当前行写法
为什么v2.197.0之前的HotXLS中SUBTOTAL 109和SUBTOTAL 9会返回同一个总和,以及一个行隐藏回调如何修复Delphi中AGGREGATE的隐藏行处理 如果一份包含隐藏行的工作簿中, 和 返回的是同一个数字,那么这两者中必定有一个是错的。HotXLS是面向Delphi和C++Builder的原
用 HotXLS 在 Delphi 中创建 Excel 表格 Slicer:必须对齐的八个包位置、为什么 slicer 缓存总是从模型重建、表与透视缓存按不同策略往返,以及 rid 链如何保持稳定
HotXLS 如何把携带替代文本的工作表图片导出为独立的 PDF Figure 结构元素并挂接正确的父树条目,以及为什么每页只能有一个 MCID 分配器、父树槽位冲突时究竟会发生什么
在 Delphi 中使用 HotXLS 填充 Excel 报表模板:用 FindText 定位占位符、克隆明细行、安全插入行,并在保存前重新计算公式,适用于 Delphi 和 C++Builder 项目
在 Delphi 中使用 HotXLS 编写 Excel 365 线索式批注:AddThreadedComment 回复链、threadedComments 与 person 数据部分,以及与传统备注的差异
HotXLS 通过 Windows fontsub.dll 的 CreateFontPackage API,为 Delphi 工作表导出的 PDF 嵌入字体做子集化,只保留实际用到的字形
跨 RTF、HTML、CSV 和 ZIP 导出时,非 ASCII 文本可能会折叠为问号,了解 HotXLS 如何在 Delphi 中让每条导出路径都保持 Unicode 完整,适用于 Delphi 和 C++Builder 项目
了解在 Delphi 代码改写工作簿时,HotXLS 如何原样保留 VBA 工程与外部链接:启用宏的保存方式、链接目标处理以及往返保真度的限制,适用于 Delphi 和 C++Builder 项目
HotXLS 让 Delphi 开发者可以重写 VBA 模块源码,用 MS-OVBA 算法重新压缩,再把宏写回 XLS 或 XLSM 文件,无需逐个打开编辑器,适用于 Delphi 和 C++Builder 项目
借助 HotXLS 在 Delphi 中审计未知的 Excel 文件:统计图表、公式、宏和保护设置,再按已知保真度限制把 XLS、XLSX 和 ODS 转换为目标格式,适用于 Delphi 和 C++Builder 项目
TXLSXWorkbookCompare 按名称配对工作表,遍历已填充的单元格,把值、公式和合并区域的差异同时给成结构化列表和每行一条的可读报告,机器上不用装 Excel
在 Delphi 中用 HotXLS 设置与读取 Excel 文档属性:标题、作者、公司和关键字,覆盖 BIFF 的 SummaryInformation 流与 OOXML 的 docProps 部分
HotXLS 如何在 Delphi 中协调工作簿的并发读写:用 O(1) 读租约、失败即抛的写守卫、可重入事务和世代计数器,让后台报表导出与主线程界面编辑互不破坏,冲突在落笔前就被拦下
在 Delphi 和 C++Builder 中使用 HotXLS 通过 SaveAsPDF 将 Excel 工作表渲染为分页 PDF,无需安装 Office,使用内置 Helvetica 字体
了解 HotXLS 如何在 Delphi 中求值 XLOOKUP 和 XMATCH:合法的匹配与查找模式、O(log n) 二分下降、重复键边界情形,以及通配符被拒绝的原因,适用于 Delphi 和 C++Builder 项目
在 Delphi 中使用 HotXLS 的 SaveAsEncrypted 写入 AES 加密的 XLSX 文件:ECMA-376 标准加密、密码处理方式以及只写解密的限制,适用于 Delphi 和 C++Builder 项目
为什么硬编码xl/worksheets/sheet1.xml会破坏合法的XLSX文件,以及HotXLS如何在Delphi中根据源部件解析OPC关系目标 一个合法的xlsx文件完全可以不包含 。HotXLS是面向Delphi和C++Builder的原生Excel电子表格组件,它通过OPC关系图来定位每一个部件,而不是靠猜
HotXLS如何在Delphi中展开XLSX共享公式的从属单元格:找到si主单元格、平移相对引用,并正确处理自闭合的f元素 XLSX中一个共享公式的从属单元格本身不携带任何公式文本。它的 元素指向工作表中别处的一个主单元格,读取器必须按行列差值平移主公式,重新构建出文本。面向Delphi和C++Builder的HotX
使用 HotXLS 在 Delphi 中设置每个动作对应的 XLSX 工作表保护:15 个 AllowOption 权限位、OOXML 省略即允许规则,以及安全的往返解析,适用于 Delphi 和 C++Builder 项目
使用 HotXLS 的 Duplicate 和 CopyFrom 在 Delphi 中复制带样式的 XLSX 工作表:哪些内容深拷贝、哪些保持浅拷贝,以及如何在副本上重建图表,适用于 Delphi 和 C++Builder 项目
了解 HotXLS 如何用四项交叉检查校验 ZIP 目录结束记录,让藏在 ZIP 注释里的伪造 EOCD 骗不过你在 Delphi 中的解析器,适用于 Delphi 和 C++Builder 项目
了解 HotXLS 如何在 Delphi 中用一道只锁定“定位加读取”这对操作的读取闸门,从同一个共享 ZIP 包流中并发解压多个 XLSX 工作表,适用于 Delphi 和 C++Builder 项目
当 zlib-ng 选择 Chorba 路径时,HotXLS 工作表的 CRC32 校验可能耗尽 1 MB 工作线程栈,改用 64 KB 分块处理数据即可避免崩溃,适用于 Delphi 和 C++Builder 项目