HotXLS 版本說明與版本歷史,涵蓋修正、相容性變更、文件更新與 Excel 元件改進
HotXLS 中文更新日誌
最新發布
- 最新版本: 2.384.120; 發布日期: 2026-10-09
版本 2.384.120
已新增
- 可攜式 Classic XLS 擷取支援常見的直條圖、橫條圖、折線圖、散佈圖、圓形圖、環圈圖與單一系列的區域圖,具備經過驗證的本機已存值、核心外觀,以及由呼叫端宣告的繪圖區、標題與圖例邊界
- 唯讀的圖表外觀宣告會保留工作表與圖表的識別、明確的框架尺寸、有效的圖例點數大小與原生字型幾何,供獨立輸出的 PDF、SVG 與 PNG 使用
- 受限的輔助函式可在不執行公式運算、不展開稀疏儲存格的前提下,檢視簡單的已存公式參照與快取的圖表儲存格
已修正
- Classic 圖表擷取會保留帶小數的已存字型與資料標記大小、來源所有權與讀取租約,並在輸出之前拒絕格式錯誤的記錄、無法解析的外觀與資源額度耗盡的情況
- 圖表的雙精度浮點數屬性更新,會在比較或修改之前拒絕非有限值
- 重複初始化原生可攜式儲存格時,會在擷取過程中釋放先前配置的受管理字串
版本 2.384.119
已修正
- Classic 圖表檢視會在套用具型別狀態之前,先驗證已存的數列文字、趨勢線名稱與資料標籤分隔符;當格式錯誤的文字拋出錯誤時,也會釋放已建立的部分模型
- 壓縮 Unicode 的資料標籤分隔符會保留其完整的已存字元
版本 2.384.118
已新增
- Classic 圖表檢視會以點為單位公開資料標記直徑,包括小數尺寸,同時保留原始的已存單位
已修正
- 受支援的原生 Classic 圖表填滿表格會在複雜項目之後繼續解碼屬性;格式錯誤的表格則保留前面已解析的具型別填滿
版本 2.384.117
已新增
- 明確的位元組編碼輔助函式會保留內嵌的 null 字元,並拒絕無法以所選字碼頁表示的文字
已變更
- Classic BIFF5 的文字、公式與活頁簿中繼資料在 Windows、Linux 與 macOS 上使用其宣告的編碼,並遵守編碼後的位元組長度與完整字元邊界
- 受支援的舊版圖表文字在字碼頁編輯與複製之後保留原本的解碼結果,改以不同編碼儲存前也會先明確轉碼
已修正
- 壓縮的 BIFF8 Unicode 會保留確切的字碼單位;舊版自訂樣式、圖表文字與雙位元組公式快取的延續記錄,也按其實際的記錄配置處理
- 原生 Unicode 文字運算、準則、查閱鍵、本機公式繫結與 Classic 搜尋及取代,都保留受支援的大小寫比對行為
- 具名樣式查閱會解析第一筆已存項目,不再把它誤當成不存在的名稱
- 重複讀取 ZIP 項目時會釋放先前的標頭中繼資料,同時保留並行 stored 與 deflated 串流的行為
版本 2.384.116
已新增
- 本機 SUM 計算樞紐分析欄位,以葉層級、小計與總計層級的加總為上下文求公式值,包括未出現在顯示量值中的相依項目
- 快取自有的計算項目在受支援的未群組字串成員欄位上,保留原生成員識別、隱藏相依與全域解決順序
- 受支援的計算項目顯示計算與彙總篩選,保留可見成員順序、原始篩選順序與明確無誤的顯示量值識別
已修正
- 原生樞紐分析公式的日期投影,會在快取匯入、複製與計算的過程中保留活頁簿的日期系統
- 遺漏項目的快取清理,會跨兩種活頁簿日期系統與舊版已存報表,保留經驗證的具體化報表所有權
- 不受支援的計算樞紐中繼資料與被編輯過的原生輸出,會在更動工作表結果之前先行拒絕
版本 2.384.115
已新增
- 原生可攜式 PDF、SVG 與 PNG 輸出支援豐富文字、模型化圖形、一般圖片、儲存格內圖片、布林核取方塊,以及七種受支援的快取 XLSX 圖表類型
- 不可變的活頁簿列印計畫在 Linux 與 macOS 上套用完整的列印範圍、重複的列與欄標題、分頁、紙張設定、邊界、方向、置中、縮放與頁面順序
- 明確的原生字型幾何支援帶生成檢查的擷取,且不更動活頁簿的幾何提供者
已修正
- 貼合頁面模式在活頁簿反覆存取之間依然有效,並忽略過期的百分比縮放,包括無上限的貼合尺寸
- 受支援的圖表標題字型、線條外觀、資料標記填滿與框線,保留明確匯入與撰寫的值,黑色也在內
- 豐富文字會保留明確的 false 覆寫,並在字串重用與語意比較時區分各個 run 的有效外觀
版本 2.384.114
已新增
- 原生 Linux x64 與 macOS ARM64 應用程式可載入、編輯、計算並儲存 Classic BIFF8 活頁簿,包括受支援的文件屬性與 RC4 加密
- 可攜式複合檔儲存支援巢狀範圍、大型鏈結 DIFAT 容器、中繼資料,以及明確的原生儲存介面所有權
已修正
- 128 位元 CryptoAPI 活頁簿會宣告相容的密碼編譯提供者,並保留可讀取的明文文件屬性
- 原生文件時間戳記使用正確的 FILETIME 紀元,跨平台保留 UTC 值
- Classic 已定義名稱在範圍查閱、公式與活頁簿重新開啟之間共享一致的 Unicode 識別
- 經跳脫處理的日期格式分隔符與內嵌引號文字,保留所選的完整日期格式
版本 2.384.113
已新增
- 範圍清除與 Unicode 文字貼上支援有界的原子式復原與重做,並具備保護與結構面的預先檢查
- 具型別的本機儲存格內圖片與核取方塊格式支援 XLSX 往返、無障礙中繼資料與感知所有權的內容編輯
- 稀疏列與欄的核取方塊格式,在編輯與 XLSX 往返之間保留優先順序、明確清除與不存在的儲存格
- 擴充後的 XLSB 支援涵蓋公式與快取、名稱、合併儲存格、超連結、窗格、表格與篩選
- 原生 Linux x64 與 macOS ARM64 活頁簿 API 可載入、編輯、計算並儲存受支援的 XLSX、XLSB 與 ODS 檔案
- 原生樞紐分析輸出支援數值、日期與手動群組,以及全部十一種自訂小計函數
已修正
- 具範圍名稱在 Windows、Linux 與 macOS 上使用一致的 Unicode 正規化與大小寫比對,不丟棄變音符號或特殊符號
- 現代彙總公式在 Windows 上能與 Free Pascal 一致地編譯
- 開啟另一本活頁簿時會取代具名樣式,而不是沿用前一個檔案的樣式定義
- 現代圖片與控制項內容在範圍復原與儲存之後依然存在,不會為不存在的儲存格建立實體
- 匯入的公式快取保留原始值中繼資料,一般中繼資料也與儲存格內圖片內容明確區分
- 語意比較以有界的稀疏走訪,區分本機圖片內容、無障礙中繼資料與生效的繼承控制項格式
版本 2.384.112
已新增
- 正規表示式的測試、擷取與取代,在 Windows、Linux x64 與 macOS ARM64 上支援 UTF-16 文字、擷取群組、陣列廣播與有界求值
- GROUPBY 與 PIVOTBY 支援具範圍的彙總回呼、多重量值、標題、篩選、階層式總計、排序與相對百分比
已修正
- 純量 SUM 引數保留布林值與數值文字的強制型轉換,範圍與陣列彙總則維持既有的忽略規則
- 具範圍的布林常值與彙總回呼公式,在以未來函數形式儲存及活頁簿重新開啟之後依然有效
版本 2.384.111
已新增
- 原生本機樞紐分析輸出支援基底項目差異與百分比、累計總計、列百分比與欄百分比、索引、父系百分比、累積百分比與密集排名
已修正
- 顯示計算保留原生的總計、遺漏值、除以零與排序成員語意,包括不可加總的平均值
- 延伸顯示模式與基底欄位識別,在儲存、重新開啟與明確的 Excel 重新整理之後依然保留
版本 2.384.110
已新增
- 原生本機樞紐分析輸出支援壓縮、表格與大綱版面配置、重複的上層標籤、預設小計位置,以及任一資料軸上的多重量值
已修正
- 重複標籤設定在匯入命名空間別名與儲存、重新開啟之後依然有效;原生輸出也會區分不存在的交叉儲存格與數值零
- 當 Excel 明確重新整理產生的報表時,分階段寫入的版面配置中繼資料能讓欄位與資料標題保持一致
版本 2.384.109
已新增
- 活頁簿比較能區分具型別值與精確大整數,支援有限範圍的數值容許誤差,並可選擇比較已存的公式快取、樣式與幾何
- 有界的語意比較涵蓋受支援的名稱、規則、表格、繪圖順序、空白樣式區域、生效的豐富文字 run、本機樞紐分析模型、Slicer 選取與 Timeline 狀態
已變更
- 比較會保留緊湊存放與不存在的儲存格,將資源識別解析為生效值;遇上不受支援的模型或資源耗盡時,保留前一次的成功結果
已修正
- 具型別資料庫 REAL 參數的精度驗證可在 Delphi XE5 下編譯,同時保留精確值、溢位與 null 檢查
版本 2.384.108
已新增
- ODS 往返保留一般備註文字與作者、可表示的數值與自訂篩選、明確的儲存格保護,以及等效但不需密碼的工作表保護
- 轉換報告在工作表複製與後續儲存之後,仍保留精確的中繼資料損失資訊,包括不受支援的篩選運算式與不等效的保護
已修正
- 取消或失敗的 ODS 串流儲存,會透過有界的暫存檔暫置機制保留目的地的位元組、大小與位置
- 從非零串流位置開始的成功 ODS 儲存,會保留既有前綴並校正 ZIP 項目位移
版本 2.384.107
已新增
- 已存公式檢視與感知參照的樞紐分析彙總公式,可在 Classic XLS、XLSX、唯讀與隔離求值上下文中運作,包括可用的陣列結果與具型別錯誤
- 樞紐分析彙總查詢透過有界的分離快取求值,遵循模型化的可見成員、報表篩選與受支援的小計,不必重新整理來源資料
已修正
- 原生 Excel XLS 樞紐分析快取會保留連續的內嵌數值與目前的快取有效性中繼資料,不再回傳錯誤的重複值總計
- 樞紐分析參照會涵蓋主表格位置上方的模型化報表篩選區域
版本 2.384.106
已新增
- 自動資料庫查詢按位置順序繫結具型別的常值與已存儲存格參數,保留 Unicode、空字串、零、布林值、日期與 null,不會把值替換進 SQL 文字
- 儲存格參數讀取可用的公式快取與緊湊的已存值,不需重新計算或建立實體,並具備有界的中繼資料驗證與交易式結果套用
已修正
- Jet 與 ACE 日期參數透過具型別的 OLE DATE 繫結保留 DATE、TIME 與 TIMESTAMP 值,不受地區設定相關時間戳記投影的影響
版本 2.384.105
已新增
- 公式中繼資料在 XLS 與 XLSX 求值上下文中,讀取實際參照檔案的識別、受支援的基準數值格式、負數顏色、正數括號、文字對齊、鎖定狀態、欄寬與計算模式
- 分離的基準樣式與稀疏軸足跡檢視,保留已存與緊湊儲存的儲存格、工作表預設值、佈景主題色彩與借用的活頁簿所有權
已變更
- 欄寬中繼資料以兩欄陣列回傳四捨五入後的字元寬度與預設寬度旗標;無法取得的 Excel 應用程式環境資訊與無法分類的格式,則回報明確錯誤
版本 2.384.104
已新增
- 匯入驗證支援嚴格的純量型別、數值與日期邊界、明確的 Excel 日期系統、組合唯一性與跨欄關聯
- 結構化的違規資訊會指出工作表、儲存格、規則、相關欄位與第一筆重複列;已存值驗證保留緊湊儲存格,並在公式快取不可用時如實回報,不暗中重新計算
版本 2.384.103
已新增
- 自動文字查詢重新整理固定寬度檔案時,採用宣告的欄位起始位置、受支援的字元編碼、具型別欄位轉換、要略過的欄位,以及標題列或首列的選擇
- 固定寬度重新整理會保留字面引號、修剪欄位填補,並在套用工作表變更之前拒絕無效邊界、過大的輸入與取消要求
版本 2.384.102
已變更
- Classic 公式符號稽核的掃描速度更快,同時保留函數與名稱的發現結果、不分大小寫的去重、範圍與發現順序
已修正
- 在受支援的檔案系統上,Windows 活頁簿儲存、直接套件修補、PDF 輸出與頁面影像輸出,能以原子方式取代被 delete-sharing 中繼資料或讀取控制代碼佔住的既有檔案;同時保留鎖定檢查與唯讀保護,在不受支援的檔案系統上則照舊走原本路徑
版本 2.384.101
已新增
- INDEX 的區域選擇器陣列可與列、欄選擇器一併廣播,作用於計算陣列與受支援的同工作表參照聯集,並保留方向、所選值的型別與個別錯誤
- 已定義名稱與 LET 繫結保留受支援的多區域參照識別;純量 CHOOSE 則保留所選的參照,供後續計算使用
已修正
- INDEX 對計算來源接受明確為 1 的區域引數,並區分無效、缺漏、帶小數與超出範圍的區域選擇器
- 跨工作表聯集與計算陣列聯集會按其受支援的錯誤契約拒絕,不再取得錯誤的參照識別
- 由既有本機工作表限定的無效參照,在直接公式與已定義名稱中都保留參照錯誤(包括帶引號的工作表名稱),不會更改公式字串,也不會把未知限定詞解讀成本機工作表
版本 2.384.100
已新增
- Linux 上的可攜式 headless PDF、SVG 與 PNG 輸出,具備明確的字型檔、原生文字塑形、有界資源,以及分階段的獨佔檔案發布
- Windows 上唯讀擷取受支援的 Classic XLS 與 XLSX 矩形區域,成為不可變、可傳遞的快照,包括已存公式結果、具範圍的 Table 與條件式外觀、實際尺寸與完整合併資訊
已修正
- 可攜式外觀驗證在最佳化編譯組態下,也能一致地拒絕無效的 enum 表示
版本 2.384.99
已新增
- 針對受支援的 Windows Text、ADO、ODBC 與 Web 連線,提供明確的自動查詢重新整理,並支援自訂提供者註冊與有界結果
已修正
- 原生查詢結果關聯與欄識別,在受支援的表格型或獨立儲存與重新開啟之後依然保留
- 無效的提供者連線類型會在分派之前拒絕,不更動工作表結果
版本 2.384.98
已新增
- 本機樞紐分析 Timeline 的建立、共用檢視連接、包含首尾的整日篩選,以及有防護的清除選取或保留選取式移除
- 跨連接檢視的明確原生 Slicer 無資料項目重新整理,具備累計資源限制、可取消,並保留選取與項目識別
已修正
- 原生 Timeline 關聯與篩選所有權的處理,在具體化、儲存與重新開啟之間保留受支援的匯入選取
- 樞紐分析 Slicer 的交叉篩選設定,透過其原生表格表示持續保存
- 在 Open XML 載入期間,Timeline 探索保留 UTF-16 活頁簿與連結組件的解碼
版本 2.384.97
已新增
- 純量與計算陣列型已定義名稱可用於受支援的數值與計數彙總計算,具備原生強制型轉換、相依追蹤與資源限制
已修正
- 數值彙總會傳播來自本機工作表參照的具型別錯誤,空集合的平均回傳除以零錯誤,失敗的具名參照保留其錯誤而不重啟部分走訪
版本 2.384.96
已新增
- 文字串接以及受支援的中位數、次序統計量、百分位數、四分位數、百分比排位、多重眾數與母體共變異數計算,都接受計算陣列引數
已變更
- 陣列與參照的收集保留原生純量強制型轉換、具型別錯誤、原始共變異數配對與計算資源限制
已修正
- 有限中位數的中點計算避免同號溢位;排除式百分位數接受有效的端點與單一元素排位
版本 2.384.95
已新增
- 交易式的原生緊湊樞紐分析報表輸出,同步寫入工作表值、版面配置中繼資料與持久的儲存格所有權
- 在其他作用中篩選之下,跨連接檢視查詢唯讀的 Slicer 成員可用性
- 明確的歷史樞紐分析快取成員清理,保留量可設定,並協調重映射連結的選取
已變更
- 受支援的原生樞紐分析輸出保留目前的手動篩選與標題,並在實際更動之前拒絕不受支援的版面配置或已被編輯的自有儲存格
版本 2.384.94
已新增
- 共用快取的樞紐分析表檢視,以及可在明確工作表邊界內建立的本機樞紐分析 Slicer
- 交易式 Slicer 移除:清掉其限制,或把選取保留為一般樞紐分析篩選,包括對未來成員的處理政策
- 數值、日期與離散群組快取的固定式重建,成員識別保持穩定
- 以精確成員與彙總識別,預覽分離的原生緊湊樞紐分析版面配置中繼資料
已修正
- 重新開啟已填入資料的活頁簿時,現在會取代先前的具型別樞紐分析快取,而自製的原生 Slicer 連結仍可被 Excel 識別
- 群組快取序列化保留宣告的原生成員定義域,以及官方的總計與資料軸屬性
版本 2.384.93
已新增
- 經過驗證的 XLSB 讀寫器,支援具型別儲存格值、基本樣式、一般工作表檢視與尺寸
- 活頁簿以檔案與串流儲存時可明確輸出二進位格式,並具備自動偵測二進位輸入與轉換保真度報告
已變更
- XLSB 轉換會先備妥完整套件再輸出,並在輸出之前拒絕不受支援的功能或計算設定,包括未經檢查或允許損失的儲存
已修正
- 設定的 ZIP 壓縮層級會在 deflater 初始化之前套用
版本 2.384.92
已新增
- 針對受支援的本機已定義名稱與表格來源,提供交易式樞紐分析快取重新整理與安全的工作表具體化
- 提供工作表範圍的已定義名稱查閱,以及由呼叫端解析的快取重新整理來源邊界
已修正
- 本機來源識別與已定義名稱範圍在工作表搬移與改名之後依然有效,包括帶引號與 Unicode 名稱
- 已定義名稱的公式 XML 會省略選用的前置等號;那個等號只有記憶體內的公式語法才需要
- 表格總計列的成員資格遵循實際的總計列數;當只有總計 UI 提示存在時,保留所有資料列
版本 2.384.91
已新增
- 轉置、矩陣乘法、行列式與矩陣反轉支援計算陣列輸入與具型別結果
- 列與欄選取支援有序的選擇器向量、重複項與負索引
- 計算查閱向量與陣列值查閱請求,包括完整的純量查閱切片與具型別的後備值
已變更
- 矩陣運算、查閱掃描、選擇器走訪、複製與填補,在組合使用時都遵守求值步數與陣列記憶體限制
已修正
- 公式與陣列結果的文字快取,在 Excel 重新計算之前就能正確顯示
- 現代 rich-error 快取包含原生快取顯示所需的活頁簿版本與計算功能宣告
- 查閱與攤平選項在數值窄化之前拒絕超出範圍的值;帶小數的選項則遵循原生截斷行為
- 空的 take、drop 與 flatten 結果保留其具型別計算錯誤
版本 2.384.90
已新增
- 隔離的樞紐分析結果預覽保留共用的 Slicer 選取與呼叫端篩選,不更動作用中的計算快取
- 針對受支援的本機樞紐分析來源,安全的工作表具體化會分階段寫入結果、拒絕衝突的內容與結構,並保留既有的儲存格物件、格式與註解
- 精確的具型別值所有權在 XLSX 儲存與重新開啟後依然保留,因此可以安全調整結果大小、搬移結果,並明確採用既有的純量樞紐分析值
已修正
- 刪除最後一個已繫結的樞紐分析 Slicer 檢視時,會在移除其繪圖、快取、保留名稱或選取之前先行拒絕
- 清除 Slicer 檢視會在更動之前驗證每個受影響的快取,並把允許清除的檢視、繪圖與未繫結快取一併清掉
版本 2.384.89
已新增
- INDEX 接受陣列值的列與欄選擇器,作用於計算陣列與工作表範圍,包括成對選取與列欄交叉組合
已修正
- 選擇器結果保留具型別值與錯誤,缺漏的選擇器位置以 #N/A 填補,並遵守計算記憶體與求值步數限制
- 截斷後為零的帶小數純量選擇器會產生完整的整列或整欄溢出;負數選擇器則在截斷之前回傳 #VALUE!
- 純量範圍選取保留參照行為;選擇器的溢出結果能從遮蔽中恢復、重新調整大小,並在儲存與重新開啟後重新計算
版本 2.384.88
已新增
- 針對受支援的匯入非 OLAP 樞紐分析 Slicer 快取,提供具型別成員檢視、共用成員選取與清除
- 連接的樞紐分析表計算會將 Slicer 選取,與其他欄位上的獨立限制及呼叫端提供的記錄篩選取交集
已變更
- 選取變更會在提交前驗證每個連接與成員,拒絕語意不明的匯入同欄位遮罩,並保留不受支援的快取表示
- 當 Slicer 快取集合的變更會影響連接的樞紐分析表計算時,會尊重活頁簿的寫入保護
- 刪除已繫結的非 OLAP 樞紐分析 Slicer 快取會以原子方式整體拒絕,以維持執行期與已存篩選狀態的一致
已修正
- 編輯過的樞紐分析 Slicer 選取與連接檢視的成員遮罩會一起儲存,同時保留匯入的命名空間與未知延伸
- 受支援的 Slicer 連接遵循已存的工作表識別,並獨立於一般活頁簿快取識別來解析延伸快取識別碼
- 工作表重新排序時,匯入的樞紐分析表定義仍與其原始檢視保持關聯
版本 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 接受相符的 lambda 參數;FILTER 則可對計算陣列與遮罩求值
- 現代的 #SPILL! 與 #CALC! 錯誤保留具型別的 XLSX rich-value 中繼資料,同時保留無關的匯入中繼資料與 rich-value 分類
- 為了與 Excel 互通,新撰寫的 XLSX 公式以標準引數分隔符與未來函數前綴儲存;儲存保留記憶體內的運算式,重新開啟則回傳標準公式語法
- 受支援的本機圖表數列,會在編輯與重新計算之後重新整理數值、文字、日期、錯誤、泡泡與階層類別快取
- 原生分頁以原始錨點呈現合併跨度、裁切頁面片段,並抑制內部框線與格線
版本 2.384.84
已變更
- Delphi 與 C++Builder 入門範例現在包含一份實用的銷售訂單,帶具型別日期、價格、折扣與計算後的總計,並在重新開啟後驗證已儲存的 XLS 與 XLSX 活頁簿
- 發票範例現在把可列印的發票接上可編輯的付款條款與收款帳冊,計算折扣、稅額、付款與未清餘額
- 工作表版面配置範例現在示範合併標題的建立、列舉、移除,以及重新開啟後的保留
- 另有九組聚焦單一 API 的範例家族移入 Miscellaneous,讓主目錄繼續聚焦完整的業務流程與互動式工具
已移除
- 極簡的獨立合併儲存格與豐富文字範例,已整併進工作表版面配置與儀表板範例
版本 2.384.83
已變更
- 範例目錄現在把完整體驗與具規模的工作流程,跟各平台 Miscellaneous 資料夾中聚焦單一 API 的配方示範分開,兩個層級都提供直接導覽與現成可建置的專案
已移除
- 三個重複的範圍與工作表版面配置展示已移除;其完整情境仍可在 RangeOps 與 SheetLayout 中找到
版本 2.384.82
已變更
- Delphi 與 C++Builder 儀表板範例集直接開在已填入資料的活頁簿上,呈現即時總計、已繪製的圖表、可編輯明細與價格情境,並可匯出目前的結果
- API 導覽提供儀表板、銷售資料、圖表預覽與 API 配方的直接導覽,並附涵蓋全部十二個月、可重複產生的資料集
- 範例把所需的情境單元與 manifest 資源放在自身目錄,每個專案都能直接複製使用,不需要另外的共用資料夾
已修正
- API 導覽先建立銷售資料再進入儀表板公式,讓即時展示得以順利初始化
- 即時展示的圖表會在重新計算後重新整理快取值與標籤;C++Builder 範例集重複匯出時也保留目前的編輯,不會累積產生的報表工作表
版本 2.384.81
已變更
- 工作表複製範例會在重新開啟輸出之後,驗證彼此獨立的內容、重新映射的格式、公式與內嵌物件
- 日期系統、搜尋、群組、陣列公式與圖片範例會驗證各自的不同行為,輸出失敗時以非零結束代碼回報
已修正
- Classic XLS AutoFilter 範圍在儲存與重新開啟之後保留完整的列與欄邊界,包括帶作用中條件的複製篩選
- 儀表板範例集先建立被參照的工作表再進入公式,匯出前先算好總計;即使某個輸出失敗,仍會產生所有要求的伴隨格式
- 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 上不再隨機失敗。剪貼簿每次變動後,檔案總管與剪貼簿使用者服務(剪貼簿記錄)都會開啟剪貼簿幾毫秒來讀取內容;文字操作以前只嘗試開啟一次,碰上那個瞬間就可能以「存取被拒」失敗
- 所有剪貼簿操作現在都採用與 BIFF8(Excel 格式)複製貼上相同的原則:持續嘗試開啟剪貼簿約 500 毫秒。當其他應用程式佔用剪貼簿更久時,操作仍然失敗,但既有剪貼簿內容保持不變
版本 2.384.72
已修正
- 開啟 ODS 檔案時能正確讀取 General 數值格式。Excel 和 LibreOffice 寫出 General 時只給數值樣式、不帶小數位數,以前會被讀成固定兩位小數,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 檔案時會讀取以
style:map條件形式儲存的條件式格式,這是 Excel 與其他 ODF 產生器寫出的形式。當檔案同時以 LibreOffice 自己的形式帶有相同規則時,每條規則只會讀取一次 - 開啟 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 存成單一儲存格的陣列公式。以前 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 開頭、不少於兩個字元的條目)。=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
已修正
- 交集運算子(兩個參照之間的空格)現在會回傳兩個參照共同涵蓋的儲存格,與 Excel 一致:
=SUM(A1:B2 B1:B2)的結果是 6 而不是 2,沒有共同儲存格的參照會得到 #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!,任何引數裡的錯誤會原樣回傳,文字與邏輯值按 0 計,與 Excel 一致 - 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
已修正
- XLSX 引擎現在按 Excel 與 XLS 引擎的方式處理「以顯示精確度為準」(
FullPrecision = False)的捨入:百分比格式多保留兩位小數(0.1234 顯示為0.0%時存 0.123,而不是 0.1),負數與零各用各自的格式區段,中點值遠離零捨入(2.5 顯示為0時存 3,而不是 2) - 兩個引擎在「以顯示精確度為準」下都支援千位縮放逗號:12345.678 顯示為
0.0,(即 12.3)時存 12300,與 Excel 一致 - 帶數字格式的儲存格裡的邏輯值公式結果,不會再被 XLS 引擎的「以顯示精確度為準」處理成 -1
版本 2.384.56
已修正
- HotXLS 寫出的 ODS 檔案現在會宣告公式前綴的命名空間,LibreOffice 因此能真正計算公式,而不是在每個公式儲存格都顯示 #VALUE!
版本 2.384.55
已修正
- 寫入 ODS 的公式保持原義:內嵌陣列使用 OpenFormula 的列分隔符(
{1,2;3,4}變成{1;2|3;4},不再是單列),像(A1,B2)這樣的參照聯集變成~運算子而不是兩個函式引數,絕對參照保留$標記 - 從 ODS 讀回這類聯集時不再多套一層括號,這些公式可以在 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 資料與後備文字,兩種格式因此來自同一份剪貼簿狀態;可讀的 BIFF8 在配套文字取不到時仍可用,只有文字不可用時不插入任何儲存格,現有的剪貼簿開啟重試策略保持不變
- 必要文字或 BIFF8 剪貼簿發佈失敗時,在清理過程中保留原始 Win32 錯誤碼,呼叫端可以在呼叫結束後立即取得失敗診斷
- 單次嘗試的剪貼簿文字讀取器在剪貼簿清理過程中保留原生資料讀取失敗,不改變其重試行為
版本 2.384.50
已變更
- 公式符號稽核在稀疏的 XLS 活頁簿上跑得更快,同時保留回報的發現項及其順序
版本 2.384.49
已修正
- WorkbookAudit 示範程式(Delphi 與 C++Builder):
AuditReport.json寫出時不再帶 UTF-8 位元組順序標記(BOM),嚴格的 JSON parser 也能正常解析;XLS 工作表會回報 AutoFilter 範圍;指向其他活頁簿的 XLSX 定義名稱會顯示連結的檔案,而不是它的索引;命令列執行不再覆寫已儲存的設定;資料夾欄位留空時改用程式所在資料夾,而不是磁碟機根目錄;範例檔儲存失敗會寫進記錄,不再誤報為已建立 - ApiTour 示範程式:重建展示用活頁簿失敗時會保留前一份,匯出按鈕不再當掉;建置過程擲出例外時會釋放活頁簿;HTML 匯出會記錄錯誤;記錄現在回報實際建立的五個條件格式
- ExcelGraphics 示範程式:遇到不支援的圖片類型會回報,不再存出一張空白工作表,開啟對話方塊也只列出支援的格式
- OdsExport 示範程式在往返檢查中會比對字型大小,檢查或儲存失敗時回傳非零結束代碼;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 在沒有明確欄寬的欄位裡,為自動換行的儲存格調整列高時,改以工作表預設欄寬為準;以前這類儲存格被當成單行量測,列高會偏矮
版本 2.384.45
已修正
- XLS 活頁簿:
ApplyAutoFilter的'>=100'、'=2.5'這類準則現在會存成數字條件;以前存成文字,Excel 以文字比較,篩選結果會把每一個數值列都藏起來。沒有比較運算子的值(例如'North'或'100')仍存為文字,與 Excel 儲存清單選取項目的方式相同 - 這類準則的
Criteria1.DataType現在回報 4(數字),不再是 6(文字);Criteria1.Value讀回來仍是 100
版本 2.384.44
已修正
INDIRECT傳入 A1 參照文字時,會讀到下一列、右一欄的儲存格(INDIRECT("D1")回傳 E2),XLS 與 XLSX 活頁簿皆然;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這種三個字母的欄名 - XLS 活頁簿:65,536 × 256 工作表中最後一列與最後一欄的參照(
=A65536、=IV1)現在可以接受;以前會被當成未知名稱拒絕
版本 2.384.42
已修正
- 舊式
lxRows/lxColsunit(為了原始碼相容而保留,活頁簿類別並不使用):列索引超過 1,048,575 時擲出ERangeError,不再繞回第 1 列;ROW 記錄不再把每一次大綱層級變化都標成摺疊;對沒有自己設定的欄寫出 COLINFO 時改用預設值,不再當掉
版本 2.384.41
已修正
- Lazarus / Free Pascal 以 ANSI 字串模式編譯的建置:路徑含有系統字碼頁以外字元的暫存檔,現在會在清理時刪除;以前檔名是以有損方式儲存,檔案會被留在暫存資料夾裡
版本 2.384.40
已修正
TlxCellMMU(打包的儲存格儲存區)在 256 列區塊內不依列順序寫入儲存格、或寫在既有儲存格上時,會擲出EInvalidOperation;位置為負數或欄超過 65,534 時擲出ERangeError;以前這類寫入會默默毀掉相鄰的列。函式庫自己的批次寫入本來就守列順序,不受影響
版本 2.384.39
已變更
- XLSX 活頁簿:指定
TXLSXWorksheet.TabColor現在會一併把TabColorIsAuto設為 False,索引標籤色彩不必再多指定一次就會顯示,與字型、填滿與框線色彩屬性的行為一致。之後把TabColorIsAuto設為 True 仍會移除索引標籤色彩
版本 2.384.38
已變更
- XLS 活頁簿:
TXLSWorksheet.AddPivotTable現在把DestRow與DestCol視為從 1 起算,與Cells[Row, Col]、文件以及 XLSX 引擎一致;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)現在是Integer,不再是Word - XLSX 活頁簿:錨點落在工作表之外、或複製的區塊會超出最後一列或最後一欄時,
AddPivotTable與AddPivotTableCopy現在回傳nil,不再寫出 Excel 會拒絕的樞紐分析表
版本 2.384.36
已修正
- C++Builder 示範程式 XlsTables、XlsCondFormat12、XlsCreateChart 與 InteractiveFeatures 的文字欄現在寫成文字;把
const wchar_t*傳給OleVariant會選到bool建構函式,導致所有標題與標籤都變成 TRUE - DefinedNames 示範程式列出 XLS 名稱時改從索引 1 開始,不再在索引 0 上當掉;WorkbookAudit 會計入 XLS 活頁簿名稱中的外部參照;FileMonitor 寫出的是
Monitored.xlsx,不再是拼錯的.xlsxx(那會讓每次讀取工作表名稱都失敗) - Pictures 與 OdsExport 示範程式內嵌的是有效的 PNG;原本的位元組常值被字串轉換破壞,Pictures 的 chunk 長度也不對
- ApiTour 的
DEMOADD步驟改在 API Tour 工作表上求值,不再在作用中的 Dashboard 工作表上跑(文字引數可能讓啟動中止);C++Builder 的經典導覽現在會顯示該步驟的結果 - FreezePanes、QuickStart 與 ApiTour 凍結的剛好是它們的標題列與標題欄;
FreezePanes接收的是列欄數,不是第一個可捲動的儲存格 - ApiTour、CondFormatGallery、OdsExport 與 WorkbookAudit 的條件格式色彩改以 API 預期的 BGR 給定,資料橫條與色階就會顯示原本設計的色彩;CondFormatGallery 的前 N 名、重複值與高於平均規則也補上了看得見的醒目提示
- MemoryDataExport 與 HtmlExport 不再把成功的 CSV、HTML 與 RTF 匯出誤報為失敗(這些 writer 成功時回傳 0),MemoryDataExport 即使其中一個失敗也會寫出全部三個檔案
- 先儲存、再回報或開啟檔案的示範程式(QuickStart、ExcelGraphics、HotXLSInMemory、OrderCalc、PurchaseOrder 與數個主控台示範程式)會檢查儲存結果,檔案被鎖定時不再宣告成功
- ConversionWorkbench 把任何負值的 writer 結果視為失敗,並先刪除舊輸出,過期檔案不會再掩蓋失敗的轉換;C++Builder 版本會把每張工作表都匯出成 HTML
- InvoiceTemplate、OrderCalc 與 DataExport 不再依賴 Windows 的數字與日期格式:稅額公式、價格與日期門檻在使用逗號當小數分隔符號、或年份在前的日期順序的系統上也能正常運作
- 其他修正:QuickStart 的合計列在淺色填滿上改用深色文字、DateSystems 顯示原始序號與有效的 1904 紀元日期、CrossWorkbookCopy 的合併儲存格留在表格之外、CrossWorkbookCopyXls 改用逗號分隔清單與真正的淺藍色、Hyperlinks 顯示預期的連結文字、SheetProtection 正確描述並設定允許的操作、OdsImport 掃描時不再建立空儲存格、InteractiveFeatures 會把不含 VBA payload 的活頁簿存成 .xlsx、WorkbookAudit 會回報加密的 XLS 檔案及其 VBA 專案、ChartTypes 讓圖表避開資料、C++Builder 資料匯出示範程式會從 IDE 輸出資料夾找到 Demos.mdb,FormulaFunctions 會檢查重新開啟的儲存格並計入重新開啟失敗的次數
版本 2.384.35
已修正
- 現在對 XLSX 的字型、填滿、框線邊或 rich text run 指定色彩,單獨一個指定就會生效。這些物件一開始是自動色彩,以前明確指定的
Color、ForegroundColor或BackgroundColor會被默默丟掉,除非同時把對應的ColorIsAuto/ForegroundIsAuto/BackgroundIsAuto旗標清掉 - 指定 RGB 色彩時,也會清掉先前的佈景主題或索引色彩來源(否則它們會壓過 RGB 值);指定 0 以上的佈景主題或索引槽位時會清掉自動旗標
- 從剪貼簿貼進 XLSX 活頁簿的框線色彩、傳統活頁簿匯出成 XLSX 時的框線色彩,以及傳給
TXLSXComment.SetFont的字型色彩,現在都會寫出,不會再被自動色彩吃掉
版本 2.384.34
已修正
- 樞紐分析欄位項目清單中的小計、總計與空白項目不再被當成資料項目讀取;以前複製這樣的樞紐分析表,會寫出一個指向快取索引 -1 的項目
- 來自 Excel 檔案的樞紐分析欄位會保留預設小計:Excel 在小計開啟時會省略
defaultSubtotal,HotXLS 卻把缺少的屬性當成關閉 - 共用項目沒有
containsString的樞紐分析快取欄位,現在依 schema 預設值讀成文字欄位,不再讀成混合欄位
版本 2.384.33
已修正
- XLSX 引擎寫出的樞紐分析表改用 schema 規定的軸向值(
axisRow、axisCol、axisPage);舊版寫的是rowAxis/colAxis/pageAxis,不是合法的 OOXML。HotXLS 仍可讀取帶有舊值的檔案 - 用在值區域的樞紐分析欄位會標上
dataField="1",沒有項目的欄位也不再帶出 schema 不允許的空<items>清單 - 複製或重建樞紐分析表時,隱藏與摺疊的項目會保留狀態,每個欄位的項目清單結尾也會補上 Excel 依其小計函式預期的小計項目
- 樞紐分析快取欄位改帶數值的
numFmtId,不再是文字General
版本 2.384.32
已修正
- ODS 匯入現在能正確轉換內嵌陣列的列:
{1;2|3;4}會變成{1,2;3,4},不再是 Excel 無法解析的公式 - ODS 匯入會轉換參照聯集運算子:
SUM([.A1:.B2]~[.C3])會變成SUM((A1:B2,C3))
版本 2.384.31
已修正
- ODS 匯入會讀取時間長度帶有日期部分的時間儲存格(例如
P0Y0M0DT12H30M15S)以及週數形式的時間長度(例如P1W),不再退回去用顯示文字 - ODS 時間長度中位於
T分隔符號之前的M是月,不是分鐘;非零的年與月沒有固定長度,現在會退回使用顯示文字,不再把P1M變成一分鐘
版本 2.384.30
已修正
- 檔案太短或已損毀時,
TGWmfEmfRead會關閉中繼檔,不再一直鎖著它直到處理程序結束 - 可放置 WMF 的標頭若給出每英寸 0 個單位,
TGWmfEmfRead現在視為未定尺寸,不再發生除以零 TGWmfEmfRead在BSEWMF中保留 32 位元的大小與邊界,與它所描述的圖片標頭一致
版本 2.384.29
已修正
- 傳統 XLS 活頁簿中 64 KB 以上的 WMF 與 EMF 圖片現在能經得起開啟與儲存;它們儲存的大小與解壓縮後的大小以前被截成 16 位元,Excel 無法解碼儲存檔裡的圖片
- 超出 -32768..32767 範圍的中繼檔圖片邊界現在會保留,不再繞回
版本 2.384.28
已修正
- 文字或屬性值含有控制字元、未成對的 surrogate 或 U+FFFE / U+FFFF 時,
TXMLWriter不再產生格式錯誤的 XML;XML 1.0 無法表示的字元會被略過 TXMLWriter會把元素文字中的歸位字元(CR)寫成字元參照,文字讀回來就不會變,不再把 CR 變成 LF- 目標串流接受的位元組數少於寫入量時(例如磁碟已滿),
TXMLWriter會擲出錯誤,不再默默留下被截斷的檔案
版本 2.384.27
已修正
- 複製範圍時,若公式指向被複製區塊的上方或左側(例如從 B5 複製
=B4+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 工作表的列、或只調整欄時,不再把沒有明確尺寸的每個已量測欄的寬度、或每個已量測列的高度設成零
版本 2.384.18
已修正
- 傳統活頁簿中的 AutoFilter 準則現在依設定時的方式串接:以前 AND 條件被存成 OR、OR 被存成 AND,Excel 會顯示錯誤的列
- 布林 AutoFilter 準則現在存成 TRUE 或 FALSE;以前存的形式會被 Excel 讀成錯誤值
版本 2.384.17
已修正
- 傳統活頁簿的建立日期與最後儲存日期現在與 Excel 一致;以前寫入時晚一天、讀取時早一天
- 最後儲存日期現在存在正確的文件屬性裡;以前被存進頁數欄位,Excel 與 Windows 不會把它顯示成日期
- 總編輯時間現在以時間長度儲存,Excel 與 Windows 會顯示真正的分鐘數,不再顯示成約 299 年;舊版寫出的時間仍可正確讀取
版本 2.384.16
已修正
- 匯入檢查的唯一值規則現在比較的是儲存格的值;以前一欄中第一個之後的每個值都會被報成重複
- 對同一欄加入第二條規則時,現在會乾淨地取代第一條;以前舊規則雖然被釋放了卻仍會被檢查,釋放檢查器時還會擲出無效指標錯誤
- 檢查工作表時不再為讀到的空白建立空儲存格
- 只保留違規列時,若違規列在使用範圍之下,不再寫出超過列表格的範圍;標題列也改成插在資料上方,不再蓋掉第一筆違規資料
版本 2.384.15
已修正
- 以小塊讀取 ZIP 項目時,若壓縮資料結束在重複序列的中間,不再遺失項目的最後幾個位元組;這個問題可能讓有效的 XLSX 因項目大小錯誤而開啟失敗
- 解壓縮後超過 2 GB 的資料現在會擲出錯誤,不再讓 64 位元處理程序當掉
- 解壓縮串流在輸入耗盡之後會傳回所有剩餘資料,不再提早停止
版本 2.384.14
已修正
- 每像素 1、2 或 4 位元的交錯式 PNG 圖片不再寫到影像緩衝區之外;匯出或列印含有這類圖片的活頁簿時,那可能造成當掉或破壞相鄰的像素
- 某一輪(pass)以 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 的 spin count 會被立即拒絕,不再讓 CPU 忙上好幾個小時
- 被截斷的密碼驗證器不再讀到緩衝區之外,
SaveAsEncryptedAgile寫出的完整性金鑰現在也有格式要求的長度
版本 2.384.11
已修正
- 用
SaveAsEncrypted儲存的活頁簿現在能在 Excel 中開啟。ECMA-376 Standard Encryption 的金鑰以前少做了最後一步推導,套件大小也和資料一起被加密,所以 Excel 會拒絕密碼;Excel 2007 以這種方式加密的活頁簿現在也能開啟 - 舊版 HotXLS 儲存的加密活頁簿,輸入正確密碼仍能開啟
- 長度超大、格式不良的加密標頭不再在開啟時引發存取違規
版本 2.384.10
已修正
- 在儲存格之間複製貼上公式,以及連帶複製公式的排序,不再移動絕對參照:
$A$1原地不動,A$1只移動欄,$A1只移動列,與 Excel 一致 - 像
LOG10(這種長得像儲存格位址的函式名稱,貼上公式時不再被當成參照位移,貼上的公式也就不會變成LOG11(然後出現#NAME? - 帶工作表名稱的參照(例如
Sheet2!A1或'My Sheet'!B3)貼上時現在也會和沒帶名稱的參照一樣位移 - 把以
=或單引號開頭的文字貼進傳統活頁簿時,現在會保留為文字;以前會被變成公式,或掉了第一個字元
版本 2.384.9
已修正
[h]、[mm]、[ss].00這類經過時間數字格式,現在會被辨識為時間格式,不再被誤認成色彩名稱;在關閉以顯示精確度為準(FullPrecision設為False)時,格式為[ss].00的時間長度也不再被當成普通的兩位小數來四捨五入,以前這會把幾秒的值變成零- 分析數字格式時,與小時或秒之間隔著字面字元的分鐘標記(例如
h:mm與mm:ss)現在會讀成分鐘,不再讀成月
版本 2.384.8
已修正
- 把文字、HTML 或試算表資料複製到 Windows 剪貼簿時,現在會使用有效的暫時擁有者,主控台程式與沒有應用程式視窗的 worker thread 也一樣;複製的資料在該擁有者被銷毀後仍然可用
- 剪貼簿發佈失敗時,現在會釋放 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 會遺失,於是每份副本都以單一字型顯示整條註解;現在 run 會隨文字一起走,跨活頁簿複製時其字型會加入目的地活頁簿
- 在傳統 .xls 活頁簿中用
Sheets.AddCopy複製整張工作表時,沒有值也沒有格式的儲存格上的註解會被丟掉;這些註解現在也會一併複製 - .xlsx 活頁簿中的註解重新開啟時會遺失格式化 run 的字型名稱、刪除線與色彩,儲存的 run 也從不攜帶底線或上標/下標;現在這些都能在儲存並重新開啟後保留,包括用
CloneRangeTo從另一個活頁簿複製來的 run
版本 2.384.5
已修正
- 傳統 .xls 活頁簿中註解與文字方塊裡的格式化 run 在儲存時不再遺失字型。僅被這類 run 使用的字型可能從儲存的字型清單中掉出去,最常見於 HotXLS 對已儲存過一次的活頁簿再次儲存時,此時該 run 在 Excel 裡會顯示成預設字型,或撿到期間加入的某個字型;現在這些字型都會保留,run 會與字型清單的其餘部分一起重新編號
- 註解與文字方塊的
TextRuns.FontIndex遵循檔案的字型編號,其中索引 4 永不使用,第五個字型的索引是 5;針對索引字型色彩的調色板保留區現在也以同樣方式讀取這些索引
版本 2.384.4
已修正
- 2.384.1 的字型編號改動本身就是 bug:傳統 .xls 檔案照 Excel 的方式為字型編號([MS-XLS] §2.5.129),索引 4 永不使用,第五個字型的索引是 5,但 2.384.1 改成了單純的從零計數;於是儲存出的活頁簿在 Excel 裡每個自訂字型都提前一個插槽顯示(第一個會退回預設字型),而 Excel 建立的活頁簿開啟時每個自訂字型都落後一個插槽。現在儲存與開啟重新遵循 Excel 的編號,並與 Excel 自身寫入和讀取的活頁簿核對過
- 富文字儲存格在開啟、儲存與跨活頁簿複製工作表的過程中保留每個格式化 run 的字型,包括那些字型沒有被任何儲存格直接使用的 run
- 由 2.384.1 到 2.384.3 儲存的、含有五個及以上字型的活頁簿已經帶著錯位的編號,Excel 和 HotXLS 都無法把它與有效資料區分開;請從原始檔重新產生,或重新套用受影響的字型後再儲存一次
版本 2.384.3
已修正
- 兩個活頁簿引擎裡,1900-01-01 到 1900-02-28 的日期都比 Excel 多算一天,因為 Excel 的 1900 年曆會多數出一個不存在的 1900-02-29;現在讀寫都會套用文件記載的修正,
DATE(1900,2,29)回答 1900-02-28 而不是#VALUE!,共用字串表跨記錄邊界遇到內嵌 NUL 字元與雙位元組字碼頁時也不會再失步 - 比較運算比照 Excel 由左至右串聯評估,
=1<2<3現在讀作(1<2)<3並像 Excel 一樣回傳 FALSE(比較中 TRUE 的位階高於任何數字),而過去按1<(2<3)分組並回傳 TRUE;比較中空白運算元同時等於 0 與空字串;萬用字元準則在COUNTIF與SUMIF的「不等於」上行為和既有「等於」完全一致;SUMIF及其同族函數的加總範圍改為從左上角儲存格擴展出準則範圍的形狀,不再被截斷;INDIRECT會處理第二個引數(絕對 R1C1 文字)並拒絕參照後方的多餘內容 - basis 為 0 的
YEARFRAC現在套用DAYS360已實作的 NASD 二月底調整,跨越二月底的期間計算正確 - 儲存格裡出現「endstream」字樣的文字不會再於串流壓縮時截斷 PDF 頁面;略過壓縮時,總頁數 token 修補會維持串流長度一致;超過 32 位元的物件偏移會明確報錯而不是破壞交叉參照表;灰階或 CMYK JPEG 會標記實際色彩空間而不是
/DeviceRGB - 樞紐分析快取儲存被剝除或截斷的活頁簿,開啟時會將受影響的快取標記為不完整,而不是整個載入失敗,並改以舊式內聯配置重新儲存這些快取而不是報錯
- 宣告的字串數超過記錄鏈實際提供數量的共用字串表,現在會讓開啟失敗,而不是把剩餘儲存格默默當成空字串
版本 2.384.2
已修正
- 將傳統 .xls 活頁簿轉換為 .xlsx 時,位於較低列中較早合併區域左側的合併儲存格會被默默丟掉;掃描不再把使用範圍變數挪用給合併區域
- 活頁簿擴充清單裡的 XML 註解每次儲存都會帶著成倍的
<!--標記重新寫出,產出 Excel 必須修復的檔案;註解節點現在逐位元組原樣往返 - 從開啟的 .xls 擷取到的無法辨識工作表記錄,雖然保留供重放,卻在之後每次儲存時被丟棄,而且每次開啟都洩漏記憶體;現在它們會透過標準記錄寫出器原樣保存並重放
- 超過 255 字元的定義名稱與超過 65535 字元的名稱註解會在儲存時破壞 NAME 記錄的框架結構;現在兩者都會被預先拒絕
- 儲存途中因加密不符而擲出例外時,中止的儲存會洩漏活頁簿與工作表的記錄緩衝區;現在儲存會在所有結束路徑上釋放緩衝區
- 就地修補寫出器會在把替換檔案重新命名到位之前先刪除原始檔案,重新命名失敗就會毀掉活頁簿;現在交換是單次原子替換,失敗時兩個檔案都保留
- 直接讀取器的儲存格參照會強制 16384 欄與 1048576 列的邊界,不再接受溢出的座標;不合法的整數屬性會退回預設值而不是中止整個讀取;1900-01-01 到 1900-02-28 的日期在雙向轉換時都計入 Excel 的幽靈閏日
- 包含定位字元、換行字元或輸入結束字元的屬性值原樣往返,不再壓縮成空格;元素文字中未結束的實體現在比照屬性分支予以拒絕
- 4 GiB 以上的 ZIP 項目無法用複製路徑正確組框,現在會比照串流寫出器予以拒絕,而不是產出損毀的壓縮檔
- 語料執行器現在以原子方式寫出結果,被中斷的執行不會破壞保留的證據;它會記錄建置逾時而不是當掉,也能容忍格式不良的 stage-trace 行;LibreOffice 驗證器以原子方式寫出證據,檔案替換探查器也重新能收集防毒軟體產品清單
版本 2.384.1
已修正
- 第五個以後的每個字型都以字型清單結尾後一位的記錄索引寫出,導致 Excel 修復活頁簿、自訂字型回復成預設字型;現在儲存與開啟都使用文件記載的零基索引,自訂字型可以完整往返,Excel 製作的檔案在 HotXLS 開啟也能保留字型
- 求值
=0^-1或帶小數指數的負底數時,重算會因浮點例外當掉,而不是傳回#DIV/0!或#NUM! - 從既有 .xls 讀出的條件格式運算式規則會以孤立的 CF12 記錄形式掛在普通舊式標頭下重新儲存,Excel 會將其捨棄;現在它們保留舊式記錄形式與其醒目提示格式
- 參照交集運算子以及調整大小後的
OFFSET與多儲存格INDIRECT結果的隱含交集,會走錯軸向或拒絕有效的單列、單欄範圍,傳回錯誤的儲存格或#REF! - 讀取傳統 .xls 檔案時,串流列讀取器把所有快取的公式布林值回報為 FALSE,把所有快取錯誤回報為
#NULL! - 複合檔案容器超出標頭常駐 109 個 FAT 磁扇區的大型 .xls 檔案無法以自含複合檔案讀取器開啟,原因是 DIFAT 延伸鏈從未被跟隨
- 自訂表格樣式重新載入填滿色與字型色時紅藍通道對調,儲存的樣式會以錯誤的顏色出現
- 活頁簿內嵌的格式不良 PNG 圖片可能在 PDF 影像嵌入期間透過越界寫入或無界文字區塊掃描使處理程序當掉;現在內嵌 PNG 會做尺寸檢查,不合法的區塊會被拒絕
- 多矩形 EMF 區域按外接框呈現,沒有明確視埠範圍的 EMF 圖片縮放錯誤,上標文字在畫布、列印與中繼檔輸出中畫到基線以下
- 自動排定優先順序的 BIFF 條件格式規則全部帶優先順序 1,Excel 會將其標記為需要修復;自動優先順序現在與 XLSX 一致,每張工作表唯一
xlSlantDashDot框線樣式在傳統 .xls 框線輸出中被寫成xlDashDotDot- 被截斷的加密活頁簿標頭記錄會從
Open擲出例外而不是傳回密碼錯誤碼,解析格式不良影像或活頁簿檔案的多個錯誤路徑會洩漏記憶體
版本 2.384.0
已變更
- 傳統 XLS 樞紐分析快取比照 Excel 的儲存方式保存:每個快取的記錄寫入各自的儲存串流,串流識別碼、快取範圍與工作表或已命名範圍來源定義只在活頁簿全域區寫入一次;舊版 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
已修正
- 注音設定會保留必要的預設字型索引,讓 Excel 不會在索引為 0 時拒絕儲存後的活頁簿
- 動態列印範圍公式與帶有工作表限定的範圍聯集,經過 round trip 之後依然完好,不會在函數前面加上工作表字首,也不會截斷運算式內部的參照
- 產生與保留的套件部分會共用唯一的內容類型宣告,自訂屬性也不再與不透明的根關係識別碼衝突
版本 2.382.4
已修正
- 純量的已定義名稱參照會取目前列或欄的交集,範圍引數則保留完整範圍,避免貸款範本出現錯誤的相依循環
- 整數與浮點數混用的公式運算會保留浮點數精度,不再被截斷成小數點後四位
- 重新計算會優先處理可用的查詢前導參照,之後才讀取它們的快取,避免付款次數與類似查詢結果出現過期值
版本 2.382.3
已修正
- AGGREGATE 能以各自獨立的選取設定處理未計算的錯誤與巢狀彙總、保留陣列計算,並傳播原始的錯誤類型
- 儲存傳統 XLS 時會保留既有的公式快取,直到明確重新計算為止,包括共用公式與陣列公式的根;共用公式會為目標儲存格轉譯相對參照
- 結構化參照支援表格名稱中的反斜線與句點、巢狀的目前列語法,以及逸出的欄位名稱,同時不會改動公式字串內類似的文字
- XLSX 條件式格式設定會保留 RGB 色彩、明確的字型旗標、底線樣式、字型名稱、大小與配置
- 未經修改的圖表會保留原始定義與非零的錨點位移,避免數列色彩、位置與大小被改動
- 設定頁邊距時不再寫出未指定的頁面方向;傳統 XLS 對於匯入時本來就沒有的頁邊距會維持原樣,而不是加入會改變列印位置的預設值
版本 2.382.2
已修正
- 含有大量重複空白列範圍的 ODS 活頁簿在開啟與儲存時,不會再把每一列的列高與繼承而來的空白儲存格樣式展開成一個個獨立物件
- ODS 輸出會保留明確設定的列高與緊湊的重複樣式化列,包括單一列的覆寫與已清除的列高;在工作表複製、列插入與刪除、平鋪以及 XLSX 匯出時,列高範圍也都能保留下來
版本 2.382.1
已修正
- 開啟與儲存含整欄寬欄位設定的 XLSX 活頁簿時,不再反覆掃描欄中繼資料,也不再複製不斷變大的欄 XML,日期與範本活頁簿的 round-trip 逾時就此消除,同時欄位設定照樣保留
- ODS 的樞紐分析定義會保留繼承而來的 XML 命名空間宣告,包括 producer 延伸,因此儲存後的 XML 仍是 well-formed
版本 2.382.0
已修正
- 儲存傳統 XLS 活頁簿時,巢狀
SUBTOTAL儲存格現在不會再被算進外圍的小計結果,原本快取的小計值得以保留,群組列也不會被重複計算 - XLSX 圖表只會透過各工作表所參照的繪圖關聯載入,因此未連結的一般繪圖部分再也無法在 round-trip 過程中複製出重複的圖表
- OpenDocument data-pilot table 定義在 ODS 儲存後會保留下來,包括來源範圍、欄位、目標範圍、按鈕,以及 producer 延伸的屬性
AGGREGATE選項 0-7 現在在參照與陣列兩種計算形式下,都遵循文件所載的隱藏列、錯誤值與巢狀SUBTOTAL/AGGREGATE選取規則
版本 2.381.0
已新增
- 表格 Slicer(Excel 2013+):
Worksheet.Slicers.Add(Table, ColumnName)可以為任一表格欄位端到端建立 Slicer 檢視——名為Slicer_<column>的 backing slicer cache、保留的#N/A定義名稱、工作表的slicerList延伸,以及帶有 fallback 提示(供舊版 Excel 顯示)的 markup-compatibility 繪圖錨點,全都會自動寫入;檢視本身則可透過Caption、ColumnCount、StartItem、StyleName、RowHeight與SetBounds控制位置、標題與樣式 - Slicer 的 round-trip 模型:開啟檔案時會把 Slicer 檢視與 cache 解析回來(共用的 cache 會在多個檢視之間重複使用,刪除最後一個檢視也會一併丟棄它的 cache),未經修改的 Slicer 部分與錨點會逐位元組原樣重現,而且就算儲存時整本活頁簿重新編排了表格 id,表格 cache 的表格繫結依然有效
已修正
- 舊版寫出的 Slicer cache 參照的是檔案開啟當下的表格 id;儲存時若對整本活頁簿的表格 id 重新編號,過期的
tableId就可能讓 Excel 進入修復流程。這項繫結現在會跟著重新編號一路追蹤同一張表格
版本 2.380.0
已新增
- 瀑布圖與 Treemap 圖表:Excel 2016 的延伸圖表類型現在可以建立、儲存並重新開啟。這兩種圖表會序列化為專用的 extended-chart 部分,各自擁有自己的內容類型、工作表資料繫結,以及帶有 fallback 提示(供舊版讀取器顯示)的 markup-compatibility 繪圖錨點
- Treemap 圖表支援階層式類別:數列的每一層類別都會在類別維度中作為獨立的一層寫入並讀回,葉節點與父節點的標籤都會保留下來
版本 2.379.4
已修正
- 損壞或惡意的傳統 XLS 容器在開啟時不再破壞記憶體。複合檔案讀取器過去會把整個磁區複製進迷你串流,即使其中只有一部分屬於該處;會沿著迷你配置表追蹤到該串流的結尾之外;會接受格式未定義的磁區大小;還會依據未經檢查的計數決定配置表的大小。磁區與迷你磁區鏈現在都有循環防護,填滿自身欄位卻沒有終止符的串流名稱也會被限定長度
- 指定超出格式表範圍之儲存格格式索引的樣式記錄,不再透過該索引寫入。共用格式與索引鍵清單中的參考計數過去只檢查下限,因此檔案中的 12 位元索引可能越過陣列
- 以 ZIP64 延伸資訊寫入的本機檔案標頭不再溢出其緩衝區:宣告的標頭大小現在會計入寫入器附加的 28 位元組額外欄位。項目位移與串流位置改以 64 位元值追蹤,ZIP64 項目改以從其額外欄位取得的長度而非哨兵值來讀取,超過 4 GiB 的項目則會被拒絕,而不是只記錄其餘值
- 包含 Windows 分隔符的 ZIP 項目名稱會被正規化。單一反斜線過去從未被轉換為正斜線,因此
..\..\name能通過以正斜線做分割的目錄周遊檢查 - 沒有上限的遮罩範圍(例如
[a-)不再讀取超過遮罩結尾,建構以字元集合開頭的遮罩時也不再每個遮罩流失一個集合。兩者都能透過 COUNTIF 與 SUMIF 準則觸發 - 以萬用字元搜尋整個儲存格時,現在要求模式必須符合整個儲存格,與文件所述行為以及無萬用字元時的整儲存格比較一致。
FindText使用模式abc時,過去也會符合含有abcdef的儲存格 - 「以顯示值為準」的精度設定不再對數字格式中沒有數字預留位置的儲存格進行四捨五入。過去名稱指定為
General、以@指定為文字,或使用僅含字面值格式的儲存格,會被四捨五入成整數 - 共用字串表回報的唯一字串數量不再超過其實際寫入的數量,不再把已刪除字串的 Rich Text run 附加到重用其位置的其他字串上,也不再在字串僅因其格式化尾端而溢位時,發出只含選項位元組的接續記錄
- RTF 匯入不再重複非 ASCII 字元。
\\uN逸出後面會跟著以\\'hh形式寫出的後備字元,跳略邏輯過去無法辨識它們,因此每個字元又被當成文字輸出一次。被跳略的群組現在會遵守\binN的原始承載,寬度或高度超出工作表格線範圍的表格會在邊緣停止,而不是擲出例外 - 超出 XML 所定義字元範圍的數字參照會在讀取時遭到拒絕,而不是產生內嵌的 NUL、孤立的代理項或迴繞的碼點。定位字元、換行字元與歸位字元會以字元參照的形式完好歷經 OPC 來回,而不是被正規化為空格
- CSV 匯入會在多次解析之間保留
SkipRows值;該值過去會被就地遞減,因此透過同一載入器讀取的第二個檔案什麼都不會跳過 - 在決定要保留哪些部分時,現在能夠辨識
xl/tables/部分;過去的前綴比較少比了一個字元,因此從未符合
版本 2.379.3
已修正
- HTML 匯入會解碼十進位字元參照。
é以及其他所有&#NNN;形式產生的都是 NUL 字元而非字元本身,因為轉換把結果與錯誤位置寫進了同一個變數,成功碼又覆寫了該值。十六進位參照不受影響;現在兩種形式都會拒絕超出可表示範圍的值,而不是輸出莫名字元 - HTML 匯出在建構內部超連結的錨點目標時,會保留完整的子位址。長度超過 255 個字元的子位址過去會被截斷,導致產生的錨點不再與連結相符
版本 2.379.2
已修正
- 透過
AddPicture或Images.AddFromFile插入的 GIF 現在會從邏輯螢幕描述符取得大小。過去每個 GIF 都回報 100 乘 100 點,不論實際尺寸為何,因此圖片會被拉伸或壓扁 - BMP 尺寸判讀會讀取檔案實際宣告的點陣圖標頭:具有 16 位元尺寸的
BITMAPCOREHEADER現在能被正確理解,而不是被當成 32 位元欄位讀取,具有負高度的 top-down BMP 也不再產生負的圖片高度 - JPEG 尺寸判讀接受所有 SOFn 框標記,而不只是 baseline、extended sequential 與 progressive。過去無損、算術編碼與階層式 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 下那樣匯出:明確指定的欄會保留其標題、字型、色彩、對齊、寬度與可見性,沒有明確欄的表格會為每個資料集欄位匯出一欄,結果則透過同一個SaveAs呼叫儲存為 XLS、XLSX、HTML 或 RTF
版本 2.378.4
已修正
- TEXTBEFORE 與 TEXTAFTER 過去從一個從未指派的區域變數讀取引數計數,因此選用的 instance、match-mode、match-end 與 if-not-found 引數可能被忽略,或有效的呼叫被以 #VALUE! 拒絕,端視堆疊中殘留的內容而定;計數現在來自呼叫本身
- 調整過大小的 OFFSET(高度或寬度不為 1 者)在單一儲存格中求值時,會拿公式儲存格與尚未計算的錨點比較,因此隱含交集可能傳回 #REF! 或錯誤的儲存格;位移後的錨點現在會在交集測試之前計算
版本 2.378.3
已修正
- 在 Free Pascal 下,比對或取代空字串會引發規則運算式錯誤,因此每當欄位空白時,
regexreplace(Code,"[^0-9]","")這類報表運算式就會以REPORT_EXPRESSION_INVALID_REGEX失敗。FPC 後端現在的行為與 Delphi 下的TRegEx一致:接受空字串的模式(例如^$或.*)會符合空字串並產出其取代文字,而[0-9]+或\s+則回報不符合
版本 2.378.0
已新增
- HotXLS 現在能在 Windows 的 Win32 與 Win64 上以 Free Pascal 3.2.2 與 Lazarus/LCL 建置。XLS 與 XLSX 活頁簿 API、公式、樣式、直接讀取器與寫入器、資料集匯出以及轉譯協助程式都能從 FPC 程式碼運作,並具備 Delphi Unicode 字串語意;Free Pascal 與 Lazarus 支援主題涵蓋應用程式設定與後端差異
- 執行階段套件
Lib/FPC/HotXLSLaz.lpk可在 Lazarus 中開啟,或透過命令列以build-FPC-Lib.cmd針對各架構建置,而Tests/Lazarus下的 Lazarus 冒煙測試套件涵蓋活頁簿來回讀寫、壓縮、加密、COM 串流、圖形、文字讀取、規則運算式、資料集匯出與報表運算式 - FPC 建置使用內建的 Pascal 後端處理 ZIP、壓縮串流與 AES,因此 XLSX 檔案(包括受密碼保護的檔案)既不需要 zlib DLL,也不需要 Delphi 所連結的預建目的檔;PNG 保留 Alpha 色板,EMF 繪製與播放透過 Windows 中繼檔進行,多頁 TIFF 匯出則使用 GDI+ 執行階段
版本 2.377.2
已新增
- HotXLS 寫出的傳統 XLS 樞紐分析快取,現在帶有格式定義快取標頭時所依據的記錄。標頭的串流識別碼與來源資料類型過去指向從未寫出的 SXStreamID 和 SXVS,任何讀取器都無法檢查這兩者;現在兩條記錄都會寫出,標頭的兩個欄位也取自相同的值,兩者天然一致
- 快取子串流也帶有 SXDBEx,也就是 Excel 寫出的每個快取中緊跟在快取標頭之後的記錄。它記錄快取上次重新整理的時間,因此
TXLSPivotCache.RefreshedDate在傳統 XLS 儲存並重新載入後,也能像 XLSX 中那樣保留下來 TXLSPivotCache.StreamId與TXLSPivotCache.SourceDataType公開這兩個值,會從有聲明它們的檔案讀回,並寫入那一對記錄與快取標頭。由AddPivotTable建立的快取回報串流 0 與工作表範圍來源
已變更
- 選擇性啟用的舊快取框架重寫(
UpgradeLegacyPivotCacheFraming)現在也會產出這三條記錄,升級後的快取不只是框架正確,還和新寫出的快取一樣完整。已帶有 SXStreamID、SXVS 或 SXDBEx 的快取保留原本內容;SXDBEx 宣告了 HotXLS 不寫出的公式記錄的快取,則繼續走原始重放 - 讀取不受影響:這個版本之前寫出的檔案照原樣載入,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回報它所依據的兩個面向 - 升級後的快取寫在原本子串流所在的位置,而不是被挪到其他快取前面,因此樞紐分析表檢視在儲存後仍能解析到它所指名的那個快取
已修正
- 從檔案讀入、然後在清除原始重放旗標後交給寫出器的傳統 XLS 樞紐分析快取,過去會產出兩份快取子串流——模型的一份、檔案的一份。現在只產出一份
版本 2.377.0
已新增
- 傳統 XLS 工作表接受內嵌圖表物件:工作表上的
AddChartObject會把圖表框架錨定在工作表格線上(OBJ type 5 主控制項圖形加上 MSODRAWING 用戶端錨點),透過共用的圖表建構器建立圖表子串流,並掛在工作表的記錄清單上,讓檔案布局與讀取器開啟時重新接附的內容一致;往返之後框架會帶著圖表模型回來——數列、標題與範圍參照都完整保留
已修正
- SeriesText 記錄現在以正確的寬度解碼字串承載:讀取器過去在該數位元組數的地方傳入了字元數,因此 16 位元的標題與數列標籤會被截成一半長度(五個字元的標題讀成兩個字元)
版本 2.376.7
已修正
- 傳統 XLS 檔案中樞紐分析表背後的快取列,現在按照 [MS-XLS] 2.4.276 描述的方式寫出:每列快取資料一條記錄,每個快取欄位一個索引,單一位元組寬,超過 255 個不同值的欄位則用兩個位元組。HotXLS 過去寫的是自己的一套做法,把每個欄位壓進剛好數得完它的值的位元數,再把很多列塞進一條記錄,其他程式都無法解碼,也和欄位定義已經帶有的超過 255 值旗標互相矛盾
- Excel 現在能讀取 HotXLS 樞紐分析快取所保存的值,不必在活頁簿開啟時從來源範圍重建;來源資料事後被搬走、修改或刪除的活頁簿,靠的正是這一點
- 快取列也會被讀回。HotXLS 過去完全忽略這條記錄,因此從檔案載入的快取,每一列的每個欄位都指向第一個值,任何由該快取算出來的東西都跟著錯。這對 Excel 寫出的活頁簿和 HotXLS 寫出的活頁簿一體適用
- 沒有值的快取欄位不對快取列貢獻任何內容,超過 255 個值的欄位則以格式要求的較寬尺寸儲存與讀取
- HotXLS v2.376.6 及更早版本寫出的活頁簿仍然可以載入,快取列也完整無缺
版本 2.376.6
已修正
- 傳統 XLS 檔案中的 PivotCache 標頭記錄,現在按照 [MS-XLS] 2.4.275 描述的方式布局。該規範中記錄計數是四個位元組的欄位,HotXLS 卻只用兩個位元組寫它,於是它後面的每個欄位都提前一個位置出場,記錄也多跑了四個位元組——快取欄位數落進了記錄計數裡,旗標字壓在串流識別碼上,欄位數則壓在上次重新整理快取者名稱的長度上,承諾了一個記錄根本裝不下的名稱
- 標頭的旗標現在如實描述快取:它的記錄是否存放在檔案裡、活頁簿開啟時是否重新整理、是否允許重新整理、重新整理查詢是否在背景執行。這四個設定早已出現在 XLSX 輸出中,現在也隨傳統 XLS 檔案一起保存,連同上次重新整理快取者的名稱
- 標頭中的來源資料類型現在寫成工作表範圍,而不是停留在格式未定義的值上,欄位計數與已用記錄計數也帶上快取的真實總數
- 重新整理者名稱會裁到記錄允許的 255 個字元,沒有名稱的快取完全不寫名稱,而不是留下空佔位
- HotXLS v2.376.5 及更早版本寫出的活頁簿仍可載入,也仍會交出快取記錄計數。舊標頭裡從來沒存過別的東西——寫出器在記錄計數之後填的全是它從未從快取讀過的固定值——因此這類檔案的旗標與重新整理者名稱會以預設值出現,而不是被還原的值
版本 2.376.5
已修正
- PivotCache 欄位名稱在傳統 XLS 檔案儲存並重新載入後保留下來。名稱長度過去從快取欄位定義中錯誤的位置讀取——那是一個永遠是 $FFFF 的索引——因此名稱每次都被丟棄,每個快取欄位回來時都沒有名字
- 快取欄位定義記錄現在按照 [MS-XLS] 2.4.283 描述的方式布局:grbit、ifdbParent、ifdbBase、citmUnq、csxoper、cisxoper、catm,然後才是欄位名稱。HotXLS 過去寫了記錄裡不存在的三個欄位——子類型項目索引、數字格式與第二個項目計數——還把 $FFFF 塞進規範以快取欄位數為上限的索引裡
- 記錄的旗標字現在如實描述它所屬的欄位:欄位是否帶有快取項目、那些項目是否包含數字、日期或文字、能否算出最小值與最大值、是否有項目不是日期、以及項目是否超過 255 個。記錄中的項目計數現在與實際跟在後面的快取項目記錄數一致
- 超過記錄允許的 255 字元的快取欄位名稱會裁到 255,而不是照原長度寫出
- HotXLS v2.376.4 及更早版本寫出的活頁簿仍然可以載入,快取欄位名稱完整無缺——名稱在舊布局中佔據相同位置,帶有名稱的東西一個都不會丟
版本 2.376.4
已修正
- 傳統 XLS 檔案中的樞紐分析表快取,現在按照 [MS-XLS] 給定的記錄編號寫出。快取子串流裡有七條記錄過去掛在別的記錄號下:快取欄位定義寫成 $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 寫的
- 樞紐分析快取欄位中的空值可以完整往返。寫出器一直有發出它們,但讀取器沒有對應的處理,因此每個空值在載入時被丟掉,該欄位中排在它後面的每個值都向下錯一位,樞紐分析表的項目參照因此指到錯的值
- HotXLS v2.376.3 及更早版本寫出的活頁簿照樣載入,快取值完整無缺。每個樞紐分析快取子串流按它寫出時所用的編號讀取,從它自己的欄位定義記錄判斷;從既有檔案讀出的快取,寫回時沿用它進來時的編號,因此重新開啟並儲存舊活頁簿不會悄悄改動它的位元組
版本 2.376.3
已修正
- 傳統 XLS 檔案中的樞紐分析表檢視,現在按 [MS-XLS] 給定的編號 $00F1 寫出 SXEx 延伸記錄;寫出器過去用的是 $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 位元組主體過去被兩個欄位擠偏,宣稱跟著兩條從未出現的格式記錄,又把每個選用字串長度留成 0,而 [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 位元組,多出的兩個位元組落在預期下一條記錄頭的位置,檢視之後的每條記錄(包括工作表 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 程序引數、存取受保護的 TPicture.LoadFromStream,以及 VCL 世代之間變動過的 GdiplusStartup token 型別)已從 XE5 到目前版本全部做了版本安全處理
版本 2.374.0
已新增
- 3-D 圖表場景可以組態也可以檢視:新的
AddChartSheet重載接受旋轉、仰角、透視距離、高度、深度、間距,以及 cluster、autoscale、直角縮放與二維牆面旗標,按 [MS-XLS] 2.4.46 寫入 Chart3d 記錄;讀取時圖表檢查會把場景解碼回類型化模型(Scene3D)。沿用先前重載的圖表仍逐位元組發出與 Excel 一致的預設值
版本 2.373.0
已新增
- 傳統 XLS 圖表數列接受每數列的樣式覆寫:線條顏色與樣式、填滿色彩、標記形狀、顏色與大小會寫入數列格式區塊並清除 automatic 旗標,讓 Excel 採用所提供的值;圖表檢查會把 LineFormat、AreaFormat 與 MarkerFormat 記錄解碼回類型化模型與正規化語意快照
版本 2.372.0
已新增
- 傳統 XLS 圖表數列的類別與值接受具名與外部參照:不是單純 A1 範圍的文字會透過活頁簿公式引擎編譯,BRAI 記錄帶有保存編譯後公式的圖表區域項目,儲存階段以目前的定義名稱儲存索引重新序列化它;讀取時圖表檢查會把參照反編譯回它的名稱,無法解析的文字則保留空的佔位 BRAI
版本 2.371.0
已新增
- 傳統 XLS 圖表數列可以繫結到次要座標軸群組:在
AddChartSheet中把數列標為次要,會把 AXESUSED 提升到 2,按 [MS-XLS] Chart Sheet Substream ABNF 發出第二個 AxisParent 區塊,帶著自己的類別與數值座標軸以及自己的圖表群組,並透過 SerToCrt 把數列接到第二個群組;讀取時圖表檢查會解碼每個數列的圖表群組繫結
版本 2.370.0
已新增
- 傳統 XLS 圖表數列接受資料標籤:
AddChartSheet會發出 AttachedLabel 記錄,帶著顯示值、顯示百分比、顯示類別名稱、顯示標籤與百分比、顯示泡泡大小、顯示數列名稱等旗標([MS-XLS] 2.4.5 位元布局);圖表檢查會把 AttachedLabel 與帶分隔符的 DataLabExtContents 延伸標籤記錄一起解碼回類型化模型與正規化語意快照
版本 2.369.0
已新增
- 傳統 XLS 圖表檢查現在會解碼座標軸群組結構:AXESUSED 浮現宣告的座標軸群組數,每條座標軸記錄也標明它屬於主要還是次要 AxisParent 群組,群組索引會帶入正規化語意快照
版本 2.368.0
已新增
- BIFF 圖表的趨勢線與誤差線現在能在讀取時解碼進類型化圖表模型:每個 Series 區塊會浮現它的 Trendline 記錄(迴歸類型、階數或週期、截距(含自動)、方程式與 R 平方顯示旗標、預測與回溯期間、顯示名稱),以及它的 SerErrBar 記錄(方向側、值類型、端帽與幅度)
- 傳統語意快照把趨勢線與誤差線映射進共用的正規化容器,而不是直接拋錯,因此帶有進階圖表數列的活頁簿能確定性地比較,趨勢線的變更也會改變正規化串流
版本 2.367.0
已新增
- RecalcAndVerifyEx 在兩個活頁簿引擎上執行深度計算稽核:每條公式經依賴圖求值一次,寫進隔離的結果覆疊層,依賴儲存格讀到的是這一輪的結果而不是過期快取;求值失敗會歸入類型化類別(不支援的引數、循環參照、被拒絕或遺失的外部參照、跳過的資料表、取消、內部失敗)並附結果碼,每個失敗都帶有有上界的呼叫堆疊
- 稽核遵循議題預算,以穩定的工作表、列、欄、類別排序輸出;進度接收器可在節點邊界取消,數值容差可組態;選用的 ApplyResults 會在對未變動活頁簿結構完整成功的一輪之後,以原子方式提交重算的值;預設仍嚴格唯讀
已變更
- 既有的 RecalcAndVerify 與 CalculateAndVerify 進入點保留原本的淺比較語意作為相容性填補,同時共用新的報告欄位
版本 2.366.0
已變更
- PDF 匯出現在透過循序物件寫出器組裝文件,把每個物件直接串流到目的地,不再建立整份文件的中間副本;未簽署的文件直接串流進只能前進的串流,已簽署的文件則組裝進有上界的暫存區,先收下 ByteRange 與簽章內容修補,再一次向前複製
- PDF 附件承載以固定區塊從提供者的暫存區複製到最終文件,並透過間接長度物件參照其串流大小,數百 MB 的附件尖峰記憶體仍然持平
已修正
- 簽章摘要現在對組裝文件被涵蓋的兩段位元組範圍增量計算,而不是透過整份文件副本;保留的簽章欄位位置改從簽章物件本身定位,而不是掃描組裝後的位元組
版本 2.365.0
已新增
- 可見 PDF 簽章文字現在透過內嵌 Unicode 字型管線呈現,支援靠左、置中或靠右對齊,大小、顏色與粗體、斜體樣式可組態,簽署者名稱、原因與位置中的任何文字系統都涵蓋
- PDF 簽章外觀圖片接受 JPEG 承載,尺寸從框架標記推導;過大或損毀的圖片會在計算摘要前確定性地失敗
- PDF 附件公開明確的重名政策,超過可組態位元組門檻的大型提供者承載會溢寫到暫存檔,並拒絕含有路徑分隔符或控制字元、對葉節點不友善的名稱
已變更
- PDF 附件名稱樹現在按 ISO 32000-1 7.9.6 以編碼後的名稱位元組排序,提供者執行期間附件集合保持凍結,重入新增會原子式失敗
版本 2.364.0
已新增
- 內嵌 EMF 與 WMF 圖片現在會重放路徑括號(含填滿、描邊與描邊加填滿的組合通道)、圓角矩形、弧、弦、扇形與角度弧(透過精確的弧到貝茲轉換)、由有上界的 RGNDATA 矩形解析出的區域填滿與框架,以及幾何或美觀的延伸畫筆,全部攤平進不可變的共用場景,對裁剪、逃逸與私有記錄維持相同的 fail-closed 邊界
版本 2.363.0
已新增
- 內嵌 EMF 與 WMF 圖片現在透過擴充的安全記錄白名單重放:帶儲存與還原的裝置內容狀態堆疊、帶世界轉換的視窗與視埠映射、含庫存物件的畫筆與筆刷物件表、矩形、橢圓、折線鏈、多邊形、聚合線與帶虛線樣式的貝茲曲線、帶字型、顏色與對齊的有界文字執行,以及重新編碼為 PNG 的受限 stretch-DIB 圖片;未知狀態記錄仍會 fail-closed 落入有界的點陣後備路徑,不會呼叫平台的圖元檔重放
已修正
- WMF 圖片現在剖析標準的兩位元組記錄頭布局,真正的 placeable 與標準圖元檔都能解碼,而不只是人工測試樣本
版本 2.362.0
已新增
- 傳統 XLS 與 XLSX 現在透過各自的二進位或 OOXML 表示保留表公式陣列狀態、型別化資料驗證 IME 模式、計算執行緒提示、強制完整計算標記、全部重新整理提示,以及活頁簿程式碼名稱
RecalcAndVerify回傳有上界的結構化計算稽核,提供穩定的快取、解析、遺失函數與遺失名稱類別,同時不更動公式快取與活頁簿語意TXLSPageImageExporter.ExportRange把要求的儲存格矩形渲染成一張精簡的 PNG 或 JPEG,不帶紙張、邊界、頁首、頁尾、列印標題或分頁符,頁面圖片的前後事件可以在實際編碼畫布上繪製- 專用的儲存格圖片匯出器可測量、渲染並把任何傳統或 XLSX 儲存格矩形存成單張精簡圖片,解析度、縮放、格式與 JPEG 品質皆可組態;支援透明或有色背景、物件/格線/儲存格框線獨立開關、像素與位元組預算,並透過同資料夾原子替換存檔,任何一步失敗都不會動到既有目標
- 頁面圖片繪製事件現在收到完整的唯讀內容,攜帶即時畫布、像素邊界、以點為單位的頁面尺寸、解析度、縮放、文件與工作表內頁碼、總頁數以及來源工作表;包括多頁 TIFF 框架在內,每個渲染框架恰好觸發一次,測量期間保持靜默,且前置事件擲出例外時絕不觸發後續事件或寫出不完整的圖片位元組
TXLSSvgExport支援完整的逐頁回呼、確定性的文件與頁面 ID 命名空間,以及選用啟用的安全超連結覆疊(帶 ScreenTips 與安全的新視窗屬性)- 傳統與 XLSX HTML 匯出器提供選用的試算表檢視,帶語意化列與欄標題和有上界的純 CSS 懸停追蹤,兩者都拒絕 active 或本機 URI 配置,同時保留連結顯示文字
- 可見 PDF 簽章可以使用 contained、covered 或 stretched 的 PNG 外觀圖片,PDF 附件可以在每次儲存時透過單次呼叫的來源介面延遲取得承載
- 有上界的 EMF 與 WMF 向量解碼器會驗證檔頭、記錄大小、總數、EOF 的確切位置與跳脫限制,然後透過共用的 Canvas 與 SVG 後端重放其安全矩形命令子集,不呼叫驅動程式的圖元檔重放
已變更
- 直接 XLSX 寫入可以撰寫表公式陣列屬性與型別化資料驗證 IME 模式,陣列表公式不再被默默展開成逐列的純量公式
版本 2.361.99
已變更
- 自動標記 PDF 現在把帶資訊的 XLSX 圖片發出為獨立的 Figure 結構元素,帶 Unicode 替代文字、頁面內局部的稠密 marked-content 識別碼、精確的父樹項目,以及每個可見實例一個語意元素;相等的影像承載仍共用一個 XObject。沒有替代文字的圖片保持為裝飾性工件
版本 2.361.98
已修正
- 掃描範圍涵蓋自身儲存格的查閱公式(VLOOKUP、HLOOKUP、LOOKUP、XLOOKUP、XMATCH、MATCH)在重新計算期間不再誤報循環參照錯誤,同時被掃描範圍內的編輯仍會觸發該公式重新計算
- 超過 255 字元的 AutoFilter 文字準則會截到篩選記錄上限,而不是寫出損毀的自動篩選條件
- 重新產生公式文字時,隱含交集運算子所用的連續空格會被保留,不再壓縮成單一空格
- 列印範圍、列印標題與篩選資料庫之外的內建定義名稱(consolidate areas、extract、database、criteria、recorder、sheet titles 與 Auto_Open 系列標記)在傳統 XLS 活頁簿開啟與儲存時逐字保留
版本 2.361.97
已新增
- 傳統 XLS 與 XLSX 活頁簿現在公開共用的三狀態物件顯示政策,帶無損的未觸動來源保留與跨格式映射;隱藏物件不再撐大分頁或 HTML 輸出,也不會進入繪圖與媒體渲染路徑
- 活頁簿檢視器為預留位置模式的物件渲染輕量的具名預留位置,PDF、SVG、點陣圖、列印與 HTML 匯出器預設保留完整物件,並提供明確的預留位置選項,避開影像解碼與圖表場景建構
版本 2.361.96
已變更
- 手動圖表配置現在保留獨立的來源欄位與無效 token,以有上界的尺寸保留放置解析倍率與邊緣座標,尊重內部與外部繪圖目標加上標題與圖例覆疊,透過絕對圖表距離轉換支援的 ODF 幾何,並在分頁、SVG、PDF、影像、預覽、列印、檢視器與 HTML 輸出之間渲染一致的標題、圖例、繪圖區與座標軸標題位置
版本 2.361.95
已變更
- XLSX 來自儲存格的圖表資料標籤現在隨各數列而來,帶完整公式、索引快取、明確的共用與逐點可見性、即時工作表重新整理、外部快取後備、複製與報表展開時的公式轉換,以及在分頁、SVG、PDF、影像、預覽、列印、檢視器與 HTML 輸出之間一致的「自訂優先」標籤組合
版本 2.361.94
已變更
- 多層圖表類別座標軸現在保留稀疏的階層快取與即時二維範圍,以線性時間建立感知父層的區段,尊重單層、反轉、由右至左、隱藏與空白類別行為,並在分頁、SVG、PDF、影像、預覽、列印、檢視器與 HTML 輸出之間渲染一致的階層標籤與分隔符;ODS 匯出採用葉類別範圍
版本 2.361.93
已變更
- 日期座標軸現在對所有可見數列一次性推導曆法單位,從可見跨度、軸寬、量測到的標籤字型、數字格式與旋轉中選出有上界的自動間隔,並在分頁、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選用開關,預設關閉
已變更
- 分頁背景渲染現在跨頁保留工作表相對的平鋪相位,每個渲染工作階段只解碼每個背景一次,重用一個 PDF 影像 XObject 或 SVG 資源,並以單一診斷跳過損毀的承載
版本 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 為基準的座標讀取與變更任何現有邏輯窗格的第一個可見儲存格
已變更
- 四窗格捲動狀態現在會在 XLS 與 XLSX 的儲存、開啟與工作表複製過程中,獨立保留共用的上、下、左、右軸,而缺少的窗格與無效座標會失敗且不變更檢視狀態
版本 2.361.79
已變更
- 傳統 XLS 工作表會為每個窗格保留獨立有序的選取群組、將連續的 BIFF
Selection記錄彙總為一個邏輯序列、保留未更動的記錄主體,並在複製工作表時一併複製完整的選取狀態 - 超過 1369 個區域的傳統選取會以連續且符合標準的區塊寫入,同時在每個區塊之間保持一個彙總的使用中區域索引
版本 2.361.78
已新增
TXLSWorksheet與TXLSXWorksheet現在會透過共用的TXLSPanePosition類型,公開對應且感知窗格的GetSelectedAreas與SelectAreas方法
已變更
- 窗格選取查詢會傳回由呼叫端擁有的有序快照(含使用中區域索引)、保留重疊的區域,並在窗格不存在或更新無效時讓工作表狀態保持不變
版本 2.361.77
已新增
IXLSWorkbook、TXLSWorkbook與TXLSXWorkbook現在會公開對應的串流SaveSemanticSnapshot與增量 SHA-256ComputeSemanticHash方法,具備 Content 與 SecurityComplete 設定檔,外加明確的檢視器狀態、易變中繼資料與公式快取選項
已變更
- 語意快照會周遊稀疏的活頁簿模型而不具體化完整的快照,而且快照與雜湊作業都持有讀取租約,因此並行的公開變更會在變更活頁簿狀態之前失敗
版本 2.361.76
已新增
- 具型別的傳統 XLS 圖表模型現在會公開圖表、類別座標軸與數值座標軸標題
已修正
- 傳統 XLS 圖表模型擷取現在會從其定義的 BIFF 記錄識別數列、圖例、圖表群組、座標軸、3-D 狀態、數列標籤與數列來源公式
- 圖例位置與圓形圖對環圈圖的分類現在會從其定義的記錄欄位解碼
版本 2.361.75
已新增
- Delphi FeatureShowcase 與 C++Builder XlsxFeatureGallery 現在示範相同的編譯報表資料內容、記憶體資料表、嚴格資料存取、可復原錯誤繼續執行、診斷工作表、不可變執行結果,以及原子化檔案輸出工作流程
- 編譯報表主題現在提供對應的 Delphi 與 C++Builder 範例,包括介面化報表表格所需的 C++Builder 智慧介面取得
已修正
- C++Builder XLSX 功能畫廊現在會連結完整的版本相符 HotXLS 靜態套件,讓編譯報表的實作相依得以解析,而不需脆弱的每單元連結器指示詞
版本 2.361.74
已變更
RunToStream、RunToFile與RunToEncryptedFile現在共用一個輸出交易,只在報表產生與儲存完成後才發佈序列化的活頁簿- 未加密的報表輸出會保留範本活頁簿格式,包括從 ODS 範本產生 ODS 輸出,而加密輸出仍然是加密的 Office 容器
已修正
- 序列化、取代、取消與嚴重報表失敗會讓現有的目的地串流、檔案與加密檔案保持不變,並在傳回之前釋放每次執行的資料工作階段與暫存儲存體
版本 2.361.73
已新增
- 具名範圍與 Excel 表格帶狀區域現在會公開
ErrorMode、StrictDataAccess、RuntimeLimits與不可變的LastResult快照,並具有不同的CompletedWithErrors帶狀區域狀態
已變更
WriteAndContinue可以將明確可復原的資料列錯誤寫成常值診斷文字、記錄來源游標資料列與實際輸出儲存格,然後繼續處理該資料列中較後的目標與較後的輸入資料列- 報表運算式會先取用具型別的帶狀區域快照值再後援至文字,在運算式評估期間保留數值、日期、布林與其他受支援的 Variant 值
已修正
- 帶狀區域展開期間的嚴重目標、取消與執行階段限制失敗,會還原來源目標與已插入的結構、清除已回復的診斷旗標,並發佈零個已套用的目標
版本 2.361.72
已新增
TXLSReportRuntimeLimits會限制保留的執行階段問題數量、清理後的訊息長度,以及問題所佔用的記憶體,而RuntimeDiagnosticsSheetName可選擇性地寫出一張結構化的診斷工作表- 明確的解析器資料錯誤、運算式除以零,以及無效的規則運算式,現在都會帶有穩定的提供者或運算式問題類別與錯誤碼
已變更
WriteAndContinue會保留安全的非儲存格目標並記錄其問題,而工作表名稱與已定義名稱公式仍然是會快速失敗的結構性目標- 解析器資料錯誤結果在由每次執行的別名快取提供時仍可復原,而解析器擲回的例外狀況則仍然視為嚴重失敗
安全性
- 執行階段訊息只保留第一行、遮蔽常見的認證與 Bearer 權杖形式,並在變更失敗目標之前強制執行數量、長度與記憶體限制
版本 2.361.71
已新增
- 精確的
{{#usertable(alias, logicalName, providerKey, name=expression)}}儲存格會編譯成具型別的延遲資料表宣告,而TXLSCompiledReportTemplate.UserTableCount會獨立於輸出目標回報宣告數量 TXLSReportTemplateChecker.DataContext會預先檢查已註冊的提供者金鑰、具型別參數界限、格式錯誤的宣告,以及不區分大小寫的別名衝突,而不需叫用解析器
已變更
- 報表範本與產生器會在寫入目標之前評估宣告參數、在目前的執行工作階段中註冊它們,並且只在
dbvalue或dbcount首次參照其別名時才解析所宣告的資料表 - 重複且相等的宣告會共用同一個要求,而重複使用別名但邏輯名稱、提供者、參數順序、類型或值不同的宣告,則會在變更活頁簿之前以宣告儲存格的位置失敗
安全性
- 使用者資料表宣告只接受已註冊的提供者金鑰與界限內的具型別資料參數、拒絕在參數運算式內存取資料表,且不提供任何用於 SQL、路徑、URL 或命令文字的範本欄位
版本 2.361.70
已新增
TXLSReportDataRequest會將具名或使用者資料表的身分識別、具型別參數、來源位置與唯讀執行控制傳遞給IXLSReportDataResolver,其明確的結果狀態可區分未處理、已解析、找不到與資料錯誤等結果TXLSReportDataContext.RegisterResolver、RemoveResolver與ClearResolvers會管理一個不區分大小寫的具名解析器登錄,而TXLSReportDataLimits會限制別名、解析器、參數、名稱、訊息與傳回資料表結構描述的數量
已變更
- 每個報表資料工作階段都會將解析器登錄快照成 O(1) 查找、讓明確資料表保持權威、調適舊式資料表提供者、依別名快取具型別要求,並拒絕邏輯名稱、提供者、參數順序、類型或值不同的重複別名
- 報表執行器與帶狀區域現在會在資料解析期間傳遞單一執行緒安全的取消控制,取消後隨即停止而不認可目前的目標,並讓已取消的別名保持可乾淨重試,而不是把取消快取成資料錯誤
安全性
- 具型別資料要求會在不安全的作業或活頁簿變更之前,拒絕控制字元、負的來源座標、重複的參數名稱、不支援的 Variant 陣列或參照、過長字串、過多的別名或提供者,以及過大的資料表結構描述
版本 2.361.69
已新增
TXLSXWorksheet.ClearRowHeight與ClearColWidth會移除單一明確的尺寸覆寫,而不會影響其他列或欄中繼資料
已變更
- 編譯後的報表目標現在會先完成運算式評估再叫用動態格式設定,並透過單一回復界限來認可儲存格內容、數字格式、列高與欄寬
- 可復原的儲存格診斷會從儲存格現有的字型衍生紅色字型與黃色填滿樣式、保留其餘的儲存格樣式,並在基礎字型相同且執行器重複執行時重複使用集區中的樣式
已修正
- 可復原的評估失敗不再殘留動態數字格式或明確的列與欄尺寸,而診斷寫入現在會先清除任何公式再儲存常值文字
版本 2.361.68
已新增
- 編譯後的報表執行器與產生器會公開
ErrorMode、StrictDataAccess,以及具有最終狀態、已套用計數、失敗細節與有序執行階段問題的不可變LastResult WriteAndContinue可以常值診斷取代明確可復原的儲存格資料失敗,並以CompletedWithErrors完成,而預設的Stop模式仍保持相容
已變更
- 當沒有明確的範本後援時,嚴格資料存取會以穩定的錯誤碼回報遺漏的資料表、無法使用的隨機存取、遺漏的列與遺漏的欄位
- 只有明確標記為可復原的資料失敗才能繼續;結構、回呼、取消、資源、安全性、序列化與其他嚴重失敗仍然會停止報表
已修正
- 檔案與加密檔案輸出失敗現在會發布失敗的執行結果,而不是保留前一個活頁簿產生階段的完成結果
版本 2.361.67
已變更
- 編譯後的範本、執行器、範圍帶狀區域與 Excel 表格帶狀區域,現在會在每次邏輯執行中透過單一隔離的資料工作階段解析
dbvalue與dbcount - 重複的別名在單次執行內只載入一次,後續執行會重新載入提供者資料,並行執行保有獨立的快取,而
PreprocessAndRun的兩個階段則共用一份一致的資料表快照 - 報表帶狀區域運算式只會繫結自己的列或欄變數,因此常值資料表名稱與內建位置變數不再被誤認為來源欄
已修正
- 報表資料工作階段及其提供者快照會在執行成功、取消或失敗後釋放,包括提供者例外狀況與可重複使用的執行器重試
版本 2.361.66
已新增
TXLSReportDataContext.BeginRun會傳回隔離的IXLSReportDataSession快照,提供狀態檢查以及已解析或已快取的別名計數
已變更
- 報表資料工作階段使用不區分大小寫的雜湊快取來處理明確資料表、延遲的提供者結果、遺漏的別名與提供者資料錯誤
- 每個不同的別名在每個工作階段內最多觸達提供者鏈結一次,提供者結果保持繫結至所要求的別名,而相同別名的遞迴會立即失敗
- 直接呼叫
TXLSReportDataContext.TryGetTable與RequireTable時,會保留一個獨立的相容性快取,並在註冊變更時使其失效
版本 2.361.65
已新增
IXLSXImageBlob與TXLSXImageBlob提供不可變的點陣與 SVG 承載,具備一次性 SHA-256 摘要、位元組大小與選用的快取金鑰TXLSReportImageResult.CacheKey讓 V2 影像提供者能夠明確識別可重複使用的內容,而同一金鑰的衝突內容會在變更工作表之前遭到拒絕
已變更
- 重複的報表影像會依明確的快取金鑰或精確的摘要比對共用一份不可變承載,同時保留各自的錨點與變換
- XLSX 與 ODS 對每個不同的影像承載只儲存一次、跨工作表重複使用其媒體關聯,並在重新開啟活頁簿時還原共用的承載
- 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 縮放方式,並在不解碼像素的情況下將內含影像置中
- 當標頭被截斷、宣告的尺寸不一致、任一邊超過 100,000 像素,或解碼後總大小超過 1 億像素時,點陣幾何會在變更工作表之前遭到拒絕
版本 2.361.63
已新增
IXLSReportImageDataProviderV2可以傳回影像位元組,或呼叫端出借與提供者移轉的串流,並附帶活頁簿、工作表、目標、帶狀區域、資料表、列、錨點與取消內容OnTransformImage可以在繫結之前取代或調整影像大小,而編譯後的範圍與 Excel 表格帶狀區域會公開每個實際資料列的唯讀快照
已變更
- V2 影像串流以有限區塊讀取,預設上限為可設定的 64 MiB;出借的可定位串流會還原其位置,移轉的串流則只會釋放一次
- V2 承載會在變更工作表之前拒絕空資料、不符的格式簽章、不一致的尺寸、無效的錨點與超出格線的位移
- 編譯後的範圍與 Excel 表格帶狀區域會從具體化的繫結欄,在每個產生的列繫結一次影像目標,而不用掃描產生的工作表儲存格
版本 2.361.62
已新增
TXLSCompiledReportRunner與TXLSReportGenerator現在接受現有的IXLSReportImageProvider,並提供遺漏影像與指示詞儲存格的原則TXLSReportImageBinder.ApplyTarget會繫結單一預先編譯的影像指示詞,而不用掃描不相關的工作表儲存格
已變更
- 精確的
{{#image Key}}儲存格會編譯成具型別的報表目標、在未設定提供者時保持不變,並在執行器工作階段之間重複使用其編譯後的金鑰與座標
版本 2.361.61
已新增
TXLSCompiledReportRunner現在會公開成對的活頁簿與工作表產生事件,具備穩定的工作表身分識別、原始與目前座標、唯讀報表資料、目標計數、取消與失敗細節TXLSReportGenerator透過範本讀取與產生生命週期事件來執行活頁簿、檔案、串流或加密檔案範本,並可選擇就地或原子化複製的修改方式
已變更
- 報表產生會凍結原始工作表集合、在回呼驅動的結構變更後重新編譯、拒絕並行變更同一活頁簿、在取消與失敗時配對進入事件,並保留第一個例外狀況
- 報表串流仍由呼叫端擁有、可定位的範本串流會還原其位置、僅能向前讀取的串流以有限區塊消費,而串流、檔案與加密檔案目的地只會在成功完成後變更
- 沒有生命週期處理常式的編譯報表會保留直接的目標迴圈,沒有工作表掃描、事件內容或每個目標的生命週期配置
版本 2.361.60
已新增
- XLSX 活頁簿現在會公開
HasWebAddinTaskPanes、WebAddinTaskPaneCount與RemoveWebAddinTaskPanes,用於精確檢查與移除套件根層的工作窗格
已變更
- Web 增益集工作窗格的移除現在會在變更之前驗證界限內的內部關聯圖形、保留共用與不相關的套件部分、移除專屬的下階節點與其擁有的關聯部分、重建內容類型、防止來源複本復活,並且具備冪等性
- 傳統 XLS 與 ODS 活頁簿會將 Web 增益集工作窗格移除回報為不支援,而不掃描套件內容
版本 2.361.59
已新增
- 傳統 XLS 與 XLSX 活頁簿現在會公開對應的
SaveExternalLinkValues與UpdateLinks屬性,分別用於快取保存與檔案宣告的連結更新偏好
已變更
- 停用外部連結快取值時,現在只會省略傳統
XCT/CRN記錄或 XLSXsheetDataSet內容,同時保留連結定義、已定義名稱、關聯、未知 XML 與記憶體內快取 - 外部連結原則現在會在編輯之前無損地往返保留的來源值、在 XLS 與 XLSX 之間轉換、保留未變更的壓縮套件部分,且絕不主動存取外部檔案或網路
版本 2.361.58
已新增
TXLSHTMLExport與TXLSXHtmlExportSession現在會公開目前 HTML 作業所使用的不可變RenderGeometry快照
已變更
- 傳統 XLS 與 XLSX HTML 匯出器現在會透過後端特定的最大數位寬度幾何,將 Excel 字元寬度轉換為固定的 CSS 長度,而不再使用寫死的轉換係數或 CSS 字元單位
- 活頁簿、工作表、範圍與增量多工作表 HTML 匯出會擷取一份作業本地的校正資料,搭配界限內的度量快取,且絕不修改已儲存的列高或欄寬
版本 2.361.57
已變更
- PDF、SVG、點陣圖、列印預覽與活頁簿檢視器作業現在會擷取各自獨立的不可變轉譯幾何快照,並搭配可感知後端的界限內度量快取
- 共用的頁面轉譯與 SVG 換行現在改用作業本地的字型量測,而不是處理程序全域的 GDI 點陣圖與字串清單狀態,同時保留已儲存的列高與欄寬
版本 2.361.56
已變更
- 傳統 XLS 與 XLSX 的自動調整現在會為每個作業擷取一份不可變的活頁簿轉譯幾何服務,包括校正過的文字量測、換行、行距、儲存格邊界與 XLSX 實際可見字型
- 分頁現在會為每次建置擷取活頁簿本地幾何、移除處理程序全域的標準字型與最大數位寬度狀態,並套用校正過的隱含欄寬,而不修改已儲存的列高或欄寬
版本 2.361.55
已新增
- 傳統 XLS 與 XLSX 活頁簿現在會建立不可變且由作業擁有的幾何與字型量測服務,具備界限內的本地快取與共用的寬度轉換,且自動調整不再有處理程序全域的 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 位元組記錄的每一個位元組,包括保留與未建模的旗標位元 - 版面設定 setter 現在只會在需要時建立遺漏的
Setup記錄,並依受影響的屬性初始化印表機相關或方向欄位
版本 2.361.48
已新增
SaveXLSXWorkbookAsXLS現在可透過檔案與串流多載,將 XLSX 模型的活頁簿轉換為 BIFF8,保留已載入的值、公式、核心樣式、合併範圍、列與欄尺寸、活頁簿日期模式與使用中工作表狀態
已變更
- XLSX 轉 XLS 轉換會在寫入樣式之前建立一份決定性的 56 色調色盤、保留已使用的索引槽位,並在直接色彩超過 BIFF8 容量時套用加權 OKLab 量化
- 轉換路徑會走訪已載入的稀疏或封裝儲存格而不具體化來源方格、在碰觸目的地之前拒絕超出 BIFF8 限制的座標,且現在可在 Delphi 與 C++Builder 的 ConversionWorkbench 範例中使用
版本 2.361.47
已新增
- 傳統 XLS 與 XLSX 活頁簿現在會公開對應的
ApplyBiffPalettePlan方法,可驗證並以原子化方式套用目前的 56 槽位調色盤計畫 - 傳統活頁簿現在會公開
BiffPaletteSavePolicy,提供明確的 BIFF8 最佳化選項,以及保留歷史調色盤輸出的預設行為
已變更
- 套用調色盤計畫時,現在會在第一次變更之前驗證來源世代、來源雜湊、所有槽位識別與色彩、彙總計數、保留鎖定、變更旗標與不透明目標,然後只重建一次快取的 OKLab 比對器
- 最佳化的 BIFF8 儲存會在成功後將已套用的調色盤留在活頁簿中,但若輸出失敗或被取消,則會還原全部 56 個來源色彩與原始世代;BIFF5 與非 BIFF 輸出路徑維持不變
版本 2.361.46
已新增
- 傳統 XLS 與 XLSX 活頁簿現在會公開對應的
BuildBiffPalettePlan方法,傳回不帶變更的 56 槽位計畫,包含來源調色盤識別、鎖定的槽位、建議色彩、彙總的全彩對應、精確涵蓋率與感知誤差統計
已變更
- BIFF 調色盤規劃現在會在指派可用槽位之前保留索引取用者與現有的精確色彩,只有當直接色彩與解析後的佈景主題色彩超過剩餘容量時,才使用決定性的頻率加權 OKLab 分群
- 調色盤計畫的建構會讀取已儲存的樣式與條件式格式中繼資料,而不改變調色盤項目、自訂色彩計數、儲存格、儲存行為或稀疏儲存
版本 2.361.45
已新增
- 傳統 XLS 與 XLSX 活頁簿現在會公開對應的
ScanIndexedColorUsage方法,傳回決定性的 56 槽位盤點清單,包含公用與實體索引、正規化 ARGB 值、定義與參照計數、取用者種類與保留鎖定
已變更
- 索引色彩使用狀況掃描現在涵蓋活頁簿樣式集區、稀疏儲存格參照、具名樣式、範圍覆蓋、工作表格線、圖形、註解、豐富文字、圖表字型、差異樣式、資料橫條與色階,而不具體化未使用的儲存格,也不改變活頁簿狀態
- 索引條件式格式色彩現在可在傳統 BIFF 與 OpenXML 的差異樣式、資料橫條與色階之間往返,包括在工作表部分之前發出差異樣式識別碼的串流儲存
版本 2.361.44
已新增
- 傳統 XLS 與 XLSX 活頁簿現在會公開對應的
NearestIndexedColor方法,傳回最接近的公用調色盤索引、實體槽位、正規化 ARGB 值、平方感知距離與精確比對狀態
已變更
- 最接近索引色彩比對現在會在兩個活頁簿引擎與舊式色彩管理器之間共用一份快取的 OKLab 實作,平手時採用決定性的最低索引,且快取更新僅限於實際的調色盤變更
- 最接近色彩查詢只掃描 56 個實體 BIFF 調色盤項目、拒絕部分透明的輸入,且絕不修改調色盤或活頁簿狀態
版本 2.361.43
已新增
- 傳統 XLS 與 XLSX 活頁簿現在會公開對應的
ResolveIndexedColor多載,可分類公用色彩索引、BIFFicv值與 OOXML 索引色彩,並傳回調色盤、自動、系統或無效的中繼資料 - 具型別的索引色彩結果會回報原始索引、調色盤槽位、系統色彩角色、正規化 ARGB 值,以及是否成功解析出具體色彩
已變更
- 自動與系統色彩權杖不再隱含查詢目前的 Windows 桌面;當需要具體的環境色彩時,呼叫端可以提供明確的解析器
- 佈景主題系統色彩現在會使用其儲存的後備 RGB 值,讓載入、儲存與無介面處理在不同機器之間保持決定性
已修正
- 無效的 OOXML 索引色彩值不再解析為不透明黑色,而舊式色彩管理器的預設值現在會使用精確的 128 通道調色盤值
版本 2.361.42
已新增
TXLSWorksheet與TXLSXWorksheet現在會公開對應的TryGetOutlineNode、SetOutlineNodeCollapsed與SetOutlineDisplayLevel方法,處理以 1 為基準的列或欄摘要節點
已變更
- 工作表大綱的查詢與更新現在會將稀疏的引擎中繼資料調適為壓縮計畫、預設保留巢狀子系狀態,並套用隱藏與摺疊變更而不掃描未使用的工作表座標
- OpenDocument 的列與欄群組現在會在直接中繼資料變更、結構編輯、ODS 往返以及轉換為 XLSX 摘要節點標記的過程中,保留原生的巢狀顯示狀態
TXLSXWorksheet.ToggleRowGrouped與ToggleColGrouped仍然可用,作為摘要節點 API 具方向感知的相容性包裝
版本 2.361.41
已新增
TXLSOutlineGeometry現在可以建立壓縮的TXLSOutlineMutationPlan執行個體,用於冪等的節點摺疊或展開,以及以 1 為基準的大綱顯示層級變更- 大綱變更計畫會公開明確的保留、摺疊與展開子系模式,同時預設讓巢狀摺疊標記保持獨立
已變更
- 展開巢狀大綱節點時,現在會在推導可見性時納入摺疊的上階與下階節點,而大量節點探索會以線性單調堆疊的單一趟次只走訪已具體化的跨距
版本 2.361.40
已新增
- 新增的引擎中立
lxOutline單元會從排序後的稀疏跨距建立列或欄大綱幾何,並探索摘要在前或在後的節點、巢狀明細範圍、摘要層級、隱藏狀態與明確的摺疊標記,而不用掃描未使用的工作表座標
版本 2.361.39
已新增
- 傳統 XLS 欄中繼資料現在會透過
TXLSColumnInfo.Collapsed與TXLSColumnInfoList.Collapsed公開獨立的大綱摺疊標記
已修正
- 傳統 XLS 的欄大綱摺疊標記現在可在 BIFF 往返、欄格式複製、工作表複製與相鄰記錄合併中保留,同時定義寬度、最適寬度與注音標示旗標維持完整
版本 2.361.38
已修正
- 傳統 XLS 的大綱摘要欄現在會在由左至右與由右至左的工作表檢視之間保留其邏輯左側或右側位置,而不會寫出相反的
WSBOOL方向位元
版本 2.361.37
已新增
- 傳統 XLS 與 XLSX 工作表現在會公開
EvaluateFormulaAt,可在明確的目標儲存格內容中以唯讀方式評估 A1 或 R1C1 公式 IXLSFormulaEvaluationTemplate會將不可變的公式錨點編譯一次,然後透過EvaluateAt或EvaluateAtWithOptions在其他儲存格重複評估- 公式評估選項現在包括公式長度、語法項目步驟、遞迴深度與產生陣列位元組的限制,耗盡時會回報為
xlfeResourceLimit
已變更
- 一次性與可重複使用的評估現在會共用工作表本地名稱、結構化參照、未快取的公式相依性、陣列根、揮發性狀態、取消與明確授權的外部參照,而不寫入活頁簿狀態
- 現有的活頁簿與工作表
Calculate方法仍是具型別內容評估器的相容性門面
已修正
- 內容式評估現在會保留公式的錯誤變體,並區分剖析、不支援函數、循環參照、外部參照、取消、工作表存留期與資源限制等失敗
- 可重複使用的 R1C1 範本現在會在另一個目標儲存格評估時,從其編譯錨點轉譯相對的列與欄位移
版本 2.361.36
已新增
ConvertExternalDefinedNamesToRefErrors現在可用於傳統 XLS 與 XLSX 活頁簿,將已確認的外部活頁簿已定義名稱卸離,而不改寫一般儲存格公式- 略過的格式錯誤或不支援定義會透過
xlsDiagnosticDefinedNameConversionSkipped回報
已變更
- 轉換會以原生
#REF!原子化地取代選取的定義,同時保留活頁簿或工作表範圍、可見性、註解、巨集與內建旗標、未知屬性與外部連結部分
已修正
- 外部已定義名稱槽位語法(例如
=[1]!RemoteName)現在會透過宣告的活頁簿連結解析,而相依公式會在重新計算期間保留產生的 Excel 錯誤值
版本 2.361.35
已新增
TXLSWorkbookWorkspace.Recalculate現在會在單一跨活頁簿的拓撲處理中評估已註冊的傳統 XLS、XLSX 與 ODS 公式節點,包含強連通元件偵測與待重算世代的傳播TXLSWorkspaceRecalcResult會回報圖形重複使用、待重算與已評估節點、循環、受阻的相依項、失效情況,以及執行階段快取的命中與未命中
已變更
- 工作區會保留其相依性圖形,直到註冊或公式拓撲變更為止;一般的值編輯只會將受影響的活頁簿節點及其傳遞相依項標記為待重算
- 單一計算趟次中重複的外部儲存格讀取會共用精確的活頁簿、工作表、列與欄快取,並在每次排定的公式更新之前使其失效
已修正
- 活頁簿之間的雙向連結不再被視為循環,除非公式儲存格圖形包含實際的循環;循環成員及其受阻的相依項會被設為失效,而不是傳回過期的快取值
- 失敗或因循環而失效的工作區工作階段現在會保留引擎本地的待重算狀態,讓後續的活頁簿重新計算能重試未完成的公式,而不是把部分完成的趟次當作已完成
版本 2.361.34
已新增
TXLSWorkbookWorkspace.BuildDependencyGraph現在會跨已註冊的傳統 XLS、XLSX 與 ODS 活頁簿建立單一相依性圖形,保留活頁簿、工作表、儲存格、矩形範圍與範圍限定的已定義名稱身分識別TXLSWorkspaceDepGraph會公開公式節點、參照、邊緣、儲存格相依與已定義名稱相依查詢,外加用於效能驗證的候選檢查診斷
已變更
- 大型公式範圍仍保持精簡的區間,而不展開成個別儲存格;列區間樹會同時修剪相依查閱與邊緣建構,而不具體化封裝的工作表值
- 本地已定義名稱會同時保留其符號相依性與靜態解析的儲存格或範圍相依性,而外部已定義名稱則保留其宣告的外部活頁簿槽位、名稱與工作表範圍
已修正
- 公式剖析器檢查選擇性外部活頁簿前置詞時,不再清除一般的已定義名稱
版本 2.361.33
已新增
TXLSWorkbookWorkspace.OnLoadWorkbook現在可以透過呼叫端控制的原則要求外部活頁簿,每個正規化身分識別最多一次,而ResolveWithLoader會回報具型別的找不到、錯誤、循環與資源限制診斷MaxLoadDepth、MaxWorkbookCount與ResetLoadAttempts為外部活頁簿載入提供明確的界限與重試控制
已變更
- 並行的外部活頁簿要求現在會共用單一進行中的載入結果,且巢狀重新進入會被拒絕,不會在跨執行緒載入循環中等待;預設工作區仍然不執行任何檔案系統或網路存取
版本 2.361.32
已新增
- 傳統 XLS 活頁簿現在會公開
CreateWorkspaceWorkbook、RegisterExternalWorkbook、UnregisterExternalWorkbook與ExternalWorkspace,讓傳統、XLSX 與 ODS 活頁簿能透過單一引擎中立的工作區提供外部公式值 - 傳統 XLS 外部連結快取現在會將具型別 XCT 與 CRN 記錄中的數字、字串、布林、錯誤與空白值解碼成稀疏的常數時間查閱,而不具體化工作表
已變更
- 外部公式評估現在會先解析工作表名稱再使用位置後備,並一致地先讀取明確註冊的即時活頁簿,再讀取具型別檔案快取,最後傳回
#REF!;已終結的註冊會被撤銷,且不會隱含存取檔案或網路 - 加引號的外部活頁簿識別可以包含 URI 配置、Windows 磁碟機代號與其他冒號,而不會被誤認為三維工作表範圍分隔符,因此 ODF 外部來源 IRI 在公式匯入期間保持完整
版本 2.361.31
已新增
TXLSWorkbookWorkspace、IXLSWorkspaceWorkbook與TXLSXWorkbook.CreateWorkspaceWorkbook提供執行緒安全的外部活頁簿身分識別與註冊基礎,具備明確的解析狀態、世代追蹤與可撤銷的活頁簿配接器
已變更
TXLSXWorkbook.RegisterExternalWorkbook現在會保留路徑與副檔名、相對於擁有的活頁簿解析相對關聯目標、拒絕模糊的別名或相同主檔名的目標而不是默默挑選一個、在目標活頁簿終結時撤銷註冊,並保留具型別的外部連結快取後備,而不隱含存取檔案或網路
版本 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、數值零、具型別錯誤與明確日期,而已變更的公式不再序列化過期的快取結果
版本 2.361.25
已新增
- 傳統活頁簿現在會公開
TryGetCachedFormulaValue,具備明確的快取存在狀態、出處與值類型,能夠在不用計算、使用者函數回呼、權杖反編譯或變更活頁簿的情況下讀取已儲存的公式結果
已修正
- 傳統 XLS 公式的布林與錯誤快取,現在會在一般與共用公式中使用指定的 BIFF 承載位元組,且載入的錯誤結果在儲存與重新開啟之間仍保持具型別的
varError值
版本 2.361.24
已新增
- 傳統與 XLSX 活頁簿現在提供
CreateLoadedCellCursor(Boolean)多載,可將具有獨立樣式的已儲存空白儲存格包含為xlckBlank快照
已變更
- 選用的空白走訪會保留工作表、列與欄順序、讓封裝的 XLSX 儲存保持壓縮,並排除繼承格式的座標,以及未設定樣式的 Empty 與 Null 佔位符
版本 2.361.23
已新增
- XLSX 活頁簿現在會公開
TXLSXWorkbook.CreateLoadedCellCursor,以常數狀態列主序走訪跨工作表的已儲存值與公式儲存格 TXLSLoadedCellKind現在包含xlckError,讓已儲存的 XLSX 錯誤值保留其獨特的值類型
已變更
- XLSX 游標會直接走訪已具體化的稀疏列區塊或封裝儲存,而不排序儲存格或具體化封裝值,且公式快照會傳回目前儲存的快取值而不重新計算
- 活頁簿範圍的拓撲變更與活頁簿釋放會透過共用的存留期租用使 XLSX 游標失效,而對現有儲存格內容的編輯則保持走訪有效,且擷取的快照由擷取方擁有
版本 2.361.22
已新增
- 傳統活頁簿現在會公開
IXLSWorkbook.CreateLoadedCellCursor,以常數狀態列主序走訪跨工作表的已儲存值與公式儲存格 TXLSLoadedCellSnapshot會傳回自有的工作表身分識別、以 1 為基準的座標、樣式、值類型、值與公式文字,而不公開內部儲存格物件
已變更
- 已載入儲存格游標在儲存格拓撲、工作表集合或活頁簿模型被替換變更後會快速失敗,而對現有儲存格內容的編輯則保持走訪有效,且先前擷取的快照不變
版本 2.361.21
已新增
- 傳統與 XLSX 的工作表儲存格儲存與工作表集合,現在會公開獨立的結構世代計數器,以利長時間執行的安全走訪
XlsValidateStructureGeneration與EXLSLoadedCellCursorInvalidated為已載入儲存格讀取器提供單一的快速失敗驗證合約
已變更
- 儲存格建立、移除、清除、座標重排、封裝儲存轉換、索引重建,以及工作表的新增、刪除或移動作業會推進相關的世代,而現有儲存格內容編輯、工作表重新命名或啟用,以及無實際作用的變更則讓世代保持穩定
版本 2.361.20
已新增
TXLSForwardReader現在可透過與 XLS、XLSX、CSV、TSV 相同的回呼介面接受 ODS 輸入PeakRowBufferedBytes與SheetPassesStarted會公開共用列後端的高峰邏輯列工作集與成功的工作表處理趟次計數
已變更
TXLSForwardReader現在會為每個支援的格式調適TXLSRowCursor,共用列界限、欄投影、公式狀態、豐富文字、密碼、略過記錄與串流位置行為,而不用維護各自分開的掃描路徑- 正向讀取器的工作表索引一致採用以 1 為基準,且被
OnSheet略過的工作表不會開啟或解壓縮
版本 2.361.19
已新增
TXLSRowCursor現在會公開明確的已關閉、首列之前、作用中、EOF、已取消與錯誤狀態,外加冪等的Cancel方法,可釋放使用中的工作表串流而不關閉來源CurrentRowView提供經過世代檢查的目前列出借檢視,而不複製其儲存格陣列;前進、選取工作表、取消、關閉或終結游標都會使先前的檢視以EXLSRowCursorViewInvalidated失效- 串流開啟現在可接受
xsoBorrowed或xsoOwned,只有在成功開啟後才移轉擁有權,而PeakRowBufferedBytes會回報自上次開啟以來估計的高峰邏輯列緩衝區
已變更
- 工作表部分與趟次啟動失敗現在會保留原始的讀取例外狀況,並將游標置於錯誤狀態,而不是呈現為取消或正常的 EOF;明確選取工作表會重設趟次以便重試
版本 2.361.18
已新增
TXLSDirectCell與TXLSRowCursorCell現在會公開HasFormula與FormulaTextAvailable,區分純值、具有可用文字的公式,以及文字被抑制或無法取得的公式TXLSDirectReader、TXLSForwardReader與TXLSRowCursor現在提供IncludeFormulaText;停用它可保留快取值、座標、樣式與公式存在狀態,同時避免在 XLSX 與 ODS 串流中累積公式文字
已變更
- 列界限與欄投影現在會在值、公式與豐富文字配置之前推送至 XLS、XLSX、ODS、CSV 與 TSV 後端;ODS 的重複欄跨距會在選取的欄之間直接跳躍,重複的列區塊則會裁剪至要求的範圍
- 列游標的趟次選項在工作表趟次進行期間會凍結,並在 EOF、選取工作表或關閉之後再度可變,防止趟次混用不相容的篩選或解碼設定
版本 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現在共用單一可暫停的文字列後端,保持相同的回呼與提取結果,同時在前進之前釋放上一列的 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 儲存會拒絕不支援的未來函數,且不認可部分串流
已修正
- 公式文字剖析現在可辨識七種標準 Excel 錯誤常值,讓
#REF!能夠透過僅接受參照的函數傳播,而解析為純量的已定義名稱會回報#VALUE!而不是#NAME?
版本 2.361.13
已新增
- 公式計算現在支援
UNICHAR涵蓋整個 Unicode 純量範圍,包括補充與私用字元,並對零、超出範圍的值、代理字碼指標與 Unicode 非字元提供與 Excel 相容的錯誤 - 公式計算現在支援
BAHTTEXT,提供泰銖與薩當文字、兩位小數且遠離零的中點捨入、負值、重複的百萬群組與有限的科學記號輸入
已變更
UNICHAR與BAHTTEXT會逐元素對應範圍與產生的陣列,同時保留局部錯誤;XLSX 以未來函數前置詞儲存UNICHAR,而BAHTTEXT在 XLS 與 XLSX 中仍是標準的裸函數
版本 2.361.12
已新增
- 公式計算現在支援
COMBINA與PERMUTATIONA,具備截斷的非負引數、受檢查的溢位、單例陣列廣播與逐元素錯誤,另支援MUNIT單位矩陣且無固定的維度上限 - 傳統與 XLSX 活頁簿會公開
FormulaArrayMemoryLimit,預設 64 MiB,用來限制產生的公式陣列承載,包括並行的 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,可省略顯著性與模式引數、具備與正負號無關的顯著性、精確的十進位倍數界限,以及指定的負數模式方向
已變更
- 公式層級的陣列函數現在可以共用線性元素對應器,具備單例列與單例欄廣播、一次性範圍快照與逐元素轉換或計算錯誤;XLSX 對兩個新函數都使用
_xlfn.前置詞,而傳統 BIFF 儲存會乾淨地拒絕不支援的公式
版本 2.361.9
已新增
- 公式計算現在支援
SORTBY,具備穩定的多索引鍵列或欄排序、獨立的遞增或遞減方向、省略方向的預設值、範圍或產生陣列索引鍵,以及一次性來源與索引鍵快照,隨後進行 O(n log n) 排序
已修正
- 當公式無法表示時,傳統 BIFF 儲存現在會乾淨地失敗,而不是在內部未來函數識別碼遭拒後仍回報成功;XLSX 則以
_xlfn.寫出SORTBY,且絕不加上_xlws.
版本 2.361.8
已變更
- 工作表的零值顯示模式現在會在活頁簿檢視器、預覽、列印、點陣圖、EMF、SVG、PDF、傳統 HTML 與 XLSX HTML 路徑之間採用單一的原始值決策;實際的數值零會在數字格式設定與文字量測之前隱藏,而公式顯示模式仍保有優先權
已修正
- XLSX 工作表檢視現在會透過單一設定剖析、寫入與複製零值顯示狀態、正確處理 1904 日期基底、保留隱藏零值儲存格的條件式格式視覺效果與超連結幾何,並讓已儲存值、公開格式化文字、CSV 與 ODS 輸出維持不變
版本 2.361.7
已變更
- 工作表的公式顯示模式現在會在活頁簿檢視器、預覽、列印、點陣圖、EMF、SVG、PDF、傳統 HTML 與 XLSX HTML 路徑之間採用單一且可感知保護儲存格的文字決策;公式文字在標準對齊下使用文字對齊、保留明確對齊,並取得非持續性的兩倍有效版面寬度,而不會溢出到相鄰儲存格
已修正
- XLSX 工作表檢視現在可同時接受
showFormulas="1"與showFormulas="true"、在同活頁簿與跨活頁簿的工作表複製期間保留該設定,並發出必要的sheetView狀態,而不改變公式快取、CSV 輸出、ODS 保存或公開的格式化值合約
版本 2.361.6
已變更
- XLSX 外部活頁簿公式現在會在
OnlyExternal轉換、公式診斷、計算繫結、跨活頁簿複製與產生公式序列化之間,共用單一具語法感知的活頁簿前置詞語彙分析器;數值連結槽位是標準形式,而結構化參照、字串常值、格式錯誤的索引與模糊的檔名前置詞則一律判定為失敗 TXLSXExternalLink現在會公開其來源RelationshipId、以 1 為基準的SourceSlot與具型別的LinkKind,因此活頁簿、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 寫入器現在只有在
ShowDropDown停用時,才會發出基礎 SpreadsheetML 的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會為所要求的字型家族與樣式提供以分號分隔的目錄;被接受的目錄樹會遞迴搜尋一次,並依內部字型中繼資料建立索引,供快取的後備解析使用
已變更
- 攜帶 OpenType GPOS 或舊式字距資料的內嵌字型,現在對簡單文字與複雜文字都使用定位後的字形推進寬度,讓量測、換行、對齊與 PDF 字形位置保持一致
版本 2.356.0
已新增
- PDF 字型內嵌已成為可設定的四模式原則:
FontEmbedding可選擇自動的歷史行為、必要的子集化、完整程式內嵌,或僅對應字型(其字型程式被移除,但 CID 對應與 ToUnicode 表保留);PDF/A 拒絕僅對應的輸出 OnFontEmbed事件會在解析度量與字形對應之前,針對每個 Unicode 字型觸發一次,接收其名稱與檔案路徑,並可透過明確的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 會加寬並拉近相鄰的長條,而堆疊 / 百分比堆疊分組會為每個類別累積一整組長條,而不是將數列並排繪製
版本 2.350.0
已新增
- 跨活頁簿範圍複製現在會依值將每個儲存格樣式重新對應到目的活頁簿的字型、填滿、框線、數字格式、對齊與保護集區,因此在兩個開啟的活頁簿之間使用
CopyRangeTo與CloneRangeTo時,格式不受集區順序影響 - 傳統 XLS 活頁簿會往返數值與日期的內建文件屬性:
CreatedDate、LastSavedDate、RevisionNumber與EditTimeMinutes會透過 OLE SummaryInformation 串流保留,零值會被略過,完整清除則會移除它們
版本 2.349.0
已新增
- 傳統 XLS 活頁簿會透過結構化屬性公開共用活頁簿修訂保護狀態:
SharedRevisionProtected與SharedRevisionPasswordHash可往返保留,而從剖析檔案擷取的原始記錄主體仍然優先,除非明確寫入這些屬性 - 報表加密感知:
TXLSCompiledReportTemplate.CreateEncrypted可直接開啟密碼保護的範本,而RunToEncryptedFile執行報表並在一次呼叫中寫出 ECMA-376 加密結果
版本 2.348.0
已新增
- 兩個引擎都提供剪貼簿貼上選項:
PasteFromClipboard接受僅值模式(保留快取結果、略過公式、格式與合併)以及插入列 / 插入欄模式,在區塊落下之前移動現有內容 - 正向讀取器會回報被略過的內容:直接讀取器、列游標與正向讀取器都公開
OnSkippedRecord,在略過格式錯誤的儲存格參照,或 BIFF 工作表掃描因記錄被截斷或不符而中止時觸發
版本 2.347.0
已新增
- 報表資料表塑形組合器:
Filter延遲串流符合條件的列、Sort執行穩定的多索引鍵排序,而Distinct為每個索引鍵元組保留第一列 - 資料來源配接器:
FromDataSet將已開啟的TDataSet快照成報表資料表(欄位名稱成為欄,資料集位置會被還原),而FromObjects將任意物件清單與陣列的已發佈屬性對應到欄 - 雙向報表帶狀區域:
RunBidirectional讓每個主列由相關的子資料表驅動自己的欄,產生鋸齒狀的欄版面,較短的列會讓多餘的複本保持空白 PreprocessAndRun會執行範本兩次:第一個階段填入值並執行結構指示詞,讓範本適應資料;第二個階段重新編譯重塑後的活頁簿,並填入其餘的佔位符
版本 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會重新計算活頁簿,並依工作表、列與欄傳回單一儲存格剛算出的值
版本 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 匯出可以透過 catalog 的
/PageMode項目設定初始檢視模式(書籤、縮圖、全螢幕、選用內容或附件) - PDF 匯出可以定義開啟動作,在文件載入時跳到以明確縮放係數指定的頁面,或開啟書籤面板
- XMP 中繼資料現在攜帶
DocumentID與InstanceID識別碼、xmpMM:History事件、修改與中繼資料日期,以及封存驗證器所期待的dc:format宣告
版本 2.339.0
已新增
- 實體列印管線:新增的
TXLSPrintDocument透過共用的分頁模型列印工作表、活頁簿或所有可見工作表,具備頁面區間、逐份整理、文件標題,以及列印新頁之前 / 產生頁面之後的事件 - 活頁簿檢視器預覽新增縮放模式(適合頁面、適合寬度,或明確的 25% 至 400% 倍率),搭配 Ctrl+滾輪縮放、滾輪翻頁,以及放大後頁面超過視窗時的水平平移
版本 2.338.0
已新增
- 圖表轉譯會繪製數值座標軸:沿左緣的刻度標記與靠右對齊的數值標籤、啟用時的主要格線、顯示單位縮放、反轉方向與對數夾取
- 指派到副數值座標軸的數列會依自己的比例對應,因此組合圖能保有獨立的主要與次要量級
- 泡泡圖會轉譯由泡泡大小欄衍生的面積比例泡泡,而不是固定的資料標記圓點
- 記憶體內圖表會在快取為空時針對擁有的工作表解析其數值、類別與泡泡範圍,因此新建圖表的轉譯結果與載入的圖表完全相同
- 圖表模型新增可編輯的環圈圖孔徑大小、第一個扇形角度、雷達圖樣式與 of-pie 類型、分割位置、分割模式、次要繪圖大小與間距寬度,全部在儲存與載入之間保留
已修正
- 點帶有值但沒有數值類別的類別圖表,不再以預留位置中止轉譯;此問題先前會抑制所有直條圖、長條圖與折線圖的刻度標記、格線與數列輸出
版本 2.337.0
已新增
- 分頁輸出可以透過 SVG 匯出器與分頁模型上新增的
PrintComments模式,將儲存格註解轉譯為文件末端的清單:儲存格位址、作者與文字會出現在工作表最後一個資料列下方 - 具名繪圖物件可透過
ExportObjectAsPNG以設定的 DPI 與縮放匯出為 PNG 影像,另有僅量測的GetObjectSize對應方法,不轉譯即可傳回物件的點數尺寸 - 位於使用範圍之外的文字圖形錨點,現在會像圖表與圖片一樣擴大列印表面
已變更
- 分頁轉譯器會在每個趟次快取解析後的儲存格字型,並記憶重複的文字量測,從縮小字型以適合的迴圈與自動換列中移除多餘的字型集區讀取與 GDI 量測呼叫
版本 2.336.0
已新增
- 儲存格文字旋轉現在會在頁面影像、SVG、列印與預覽輸出中轉譯:1-90 度的逆時針與順時針角度會繞儲存格中心旋轉,而 255 直式格式會讓每個字母獨立一行
- 下標與上標儲存格會以偏移的基準線與縮小的字形大小轉譯,而不是失去垂直對齊
- 頁首與頁尾區段在每個分頁驅動的輸出中都會遵循其
&nn點數大小與&K色彩格式碼 - 分頁輸出中的欄寬會從活頁簿標準字型量測到的最大數位寬度推導,因此以 Calibri 11 以外字型為基礎的活頁簿,分頁時能擁有與 Excel 一致的欄界
- 具有自訂傳統格線色彩的工作表,會以該調色盤項目轉譯其格線,而不是固定的灰色預設值
版本 2.335.0
已新增
- 約七十個傳統工作表函數現在除了被剖析之外還能實際計算:數學與三角群組
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,以及 2010 之前拼法的分配與統計家族,例如NORMSDIST TDIST CHIDIST FDIST POISSON QUARTILE PERCENTILE PERCENTRANK COVAR CHITEST GAMMALN,會轉送至共用其引數清單的帶點實作
已修正
NORMSDIST之類的舊式單引數常態 CDF 形式,先前會計算出縮放錯誤的誤差函數近似值MIRR先前以差一期的期數指數複利計算正現金流,使結果偏離 Excel 的值
版本 2.334.0
已新增
- 由單一值欄位組成的報表帶狀區域佔位符,現在會將原始資料類型寫入目標儲存格:數字維持數值、日期維持日期儲存格,且在儲存格為標準格式時套用預設日期格式,布林值則保留其儲存格類型,因此下游的 SUM、排序與圖表參照都能在產生的報表上正常運作
- 自訂表格樣式新增完整的區段集合,包括樞紐小計、副標題、空白列與頁面欄位區段,透過
SetSectionEx為每個區段設定字型名稱、大小、斜體、條紋大小與四邊框線,外加pivot/table旗標、DefaultTableStyleName/DefaultPivotStyleName活頁簿屬性,以及樣式、區段與 dxf 屬性在載入端的完整往返 - 在沒有密碼的情況下開啟加密的 XLSX 活頁簿時,現在會以與傳統引擎相同的重試合約觸發
TXLSXWorkbook.OnPassword,讓 GUI 密碼提示不必預先知道檔案已加密 - 以密碼儲存傳統 BIFF5 活頁簿時,現在會套用 XOR 混淆,而 BIFF8 活頁簿可透過
EncryptionType選擇標準 RC4,在現有的 RC4 CryptoAPI 預設之外補齊傳統加密矩陣 - 頁面影像、SVG、列印與預覽輸出中的工作表文字轉譯,現在會遵循垂直對齊與 WrapText 自動換列並採用貪婪斷行,而不是將換列的儲存格裁剪成單一置中行
已修正
- 錯誤儲存格現在會在每個轉譯路徑中顯示其 Excel 錯誤常值(例如 #DIV/0! 或 #REF!),而不是未定義的空文字
- 自訂表格樣式區段會以結構描述的
tableStyleElement形式寫出,讓 Excel 能夠辨識該樣式,而區段字型色彩不再遺失其粗體設定 - 報表帶狀區域快照會在帶狀區域成長超過初始容量時保留每個繫結欄的值
版本 2.333.0
已新增
TXLSPDFSignature.CertificationPolicy可以建立 DocMDP 認證簽章,允許不可變更、允許填寫表單與簽署,或允許填寫表單、簽署與註解;經認證的 catalog 會透過/Perms參照該簽章、一般認證輸出使用 PDF 1.5,而不相容的 PDF/A-1 認證會在變更目的地串流之前遭到拒絕
版本 2.332.0
已變更
- 自動標記 PDF 現在會發出完整的表格結構,包含列、語意表頭與資料儲存格、每頁稠密的標記內容識別碼、精確的父系樹對應、合併儲存格的列與欄跨距,以及針對頁面裝飾、圖表、影像、頁首與頁尾的人工元素隔離
已修正
- 重複使用同一個 PDF 匯出器時,現在會在文件之間清除二進位物件槽位,避免較早匯出的 ICC 設定檔、影像或其他串流,在物件編號改變時取代新配置的物件
版本 2.331.0
已新增
- 統一的 XLSX 繪圖外觀介面會公開混合的影像、圖表、文字方塊、保留錨點與群組順序,並提供向前、向後、置前、置後、可感知變換的群組,以及儲存-重新開啟-取消群組等保留繪圖關聯的操作
- 具名樣式支援自動或明確連結的格式部分,同時保留本機覆寫,且全部 60 種內建的淺色、中色與深色表格樣式都會透過共用的 HTML、PDF、影像、預覽與檢視器格式路徑解析
TXLSPDFBookmark支援階層式 Unicode 書籤、同層與子層關聯、色彩、粗體或斜體標題,以及展開或摺疊的子系TXLSPageImageExporter.ExportAllAsTiff會將選取的頁面以單一 LZW 壓縮多頁 TIFF 寫入串流或檔案,並提供進度、取消與原子化檔案取代- 傳統 XLS 開啟可在全域中繼資料之後停止,或透過經過驗證的
BOUNDSHEET位移直接跳到選取的工作表,包括加密串流的重新定位 TXLSFormatSnapshot會獨立於其來源活頁簿擷取完整的傳統儲存格格式,而IXLSRange.ApplyFormat會將其套用至儲存格、列或欄範圍- 相容的列主序具型別 XLSX 大量寫入使用壓縮 RLE 儲存,並提供公開的壓縮儲存格與位元組統計資料,以及透明的單次具體化以取得穩定的物件控制代碼
已變更
- 僅樣式的空白 XLSX 儲存格會與具寫入時複製的本機編輯共用參考計數的承載,並在大量格式設定、具名樣式更新、複製、排序、格式修補、儲存與載入路徑中自動壓縮,且可量測避免的承載位元組
- 動態陣列會直接串流至純量彙總,重複的精確查閱會重複使用具型別的增量範圍快取,而不可變的無狀態公式權杖會在編譯之間共用
- 橢圓弧使用由平坦度驅動的自適應三次貝茲細分,由 PDF、SVG 與點陣圖輸出共用,僅在比例或離心率需要時提高精確度
- XLSX 套件輸出現在會穩定共用字串、超連結、關聯與部分排序,使反向建構產生位元組一致的決定性套件
- 統一的 XLS、XLSX、CSV 與 TSV 正向讀取器會保持記憶體受限;BIFF8 共用字串接續會溢位到可設定的臨界值之外,同時保留投影、選取工作表、加密與格式錯誤輸入的防護
已修正
- C++Builder Win64 套件連結不再從活頁簿比較與匯入檢查單元發出重複的 Delphi 泛型物件清單 vtable
版本 2.330.0
已新增
TXLSXWorksheet.Subtotal會為排序的資料範圍插入分組的小計列、可設定的總計列、公式、繼承的可見格式,以及與 Excel 相容的大綱層級GetCellVisibleFormat會解析工作表、列、欄、範圍覆蓋與明確的儲存格格式,而不會具體化空的儲存格CheckDataValidation會針對涵蓋單一儲存格的規則測試候選值,並僅在有效時以原子方式提交
已變更
- 查閱掃描備忘使用緊湊的精確二進位鍵,並在每次快取命中時進行單一承載查閱,在不變更查閱比較的情況下減少重算配置與雜湊表工作
- 固定寬度 CSV 匯出會在單一作業中填補每個欄位,使填補時間與設定的輸出寬度呈線性關係
已修正
- 向後的
ReplaceTextIn掃描現在會以要求的反向掃描順序叫用取代回呼 - 沒有值或公式的樣式化儲存格不再阻擋 SVG、影像與預覽轉譯中相鄰的文字溢位
- 傳統 XLS 數值輸出在寫入 BIFF 數值記錄之前,除了非有限與次正規值之外,也會正規化負零
版本 2.329.0
已新增
A1ToR1C1會將 A1 樣式公式轉換為 R1C1 表示法(相對位移、絕對$形式、範圍,以及透過R1C1ToA1的往返轉換),完成參照樣式轉換的兩個方向
已變更
- 重算查閱備忘會略過
VLOOKUP、XLOOKUP/XMATCH與MATCH中少於五個儲存格的掃描向量,此時原始掃描比字典往返更便宜
版本 2.328.0
已新增
- SVG、影像與預覽輸出背後的共享頁面轉譯器現在會繪製 XLSX 儲存格樣式:實心填滿(含 alpha)、逐儲存格字型與顏色、水平對齊(採用 Excel 的數值靠右對齊預設值)、Excel 式邊框合併(較重的共享邊獲勝)、按欄縮放字型的縮小以容納,以及長文字溢位到連續的相鄰空白儲存格
版本 2.327.0
已新增
- CSV/TSV 載入器新增逐欄匯入指令(
cctText、cctNumber、cctDate、cctBoolean、cctSkip),對應 Excel 的匯入文字精靈,因此可將個別欄強制為文字以保留前導零、強制為某種類型,或從匯入中剔除 - 固定寬度文字匯入:指定欄位寬度會將載入器從分隔符號剖析切換到字元位置切片,而儲存器可輸出帶截斷功能的空格填補固定寬度欄
版本 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)現在都有完整的受支援實作,並具備明確的擁有權、格式安全、取消與輸出界限
- 大型報表範本只編譯一次物件目標與運算式、只具體化已繫結的軸欄位、只消費一次資料游標、對關聯與聯結鍵進行雜湊、為重複的不相交複製凍結來源集合前置詞,並避免重新掃描已產生的工作簿物件
- 轉譯路徑共用分頁、幾何、物件放置、效果狀態與文件資源快取,而 PDF、SVG、HTML、點陣圖、中繼檔、預覽與列印輸出則只保留各自格式專屬的編碼器
已修正
- XLSX 儲存格寫入事件現在會序列化其有效取代值而不保留過時的富文字執行,BIFF 外部名稱權杖保留完整的 4 位元組名稱索引,且頂層連線來源獨立於文字匯入來源進行往返,同時保留舊版來源回溯
- 舊版 BIFF 樣式與公式語意、工作簿視窗與選取重新對應、混合的絕對公式參照、公式權杖擁有權與無效權杖回寫,現在在載入、編輯與儲存過程中都會保留確定性的無損行為
- 報表展開現在會在結構性寫入之前拒絕確定性的表格、篩選、名稱、重疊、部分物件、網格與查詢支援衝突,在可表示之處保留零列表格基數、在 2^53 以上維持精確的整數聯結鍵,並在取消或失敗後報告確定性的套用計數
- PDF 與向量匯出現在保留回溯字型的 Unicode 對應、字素與整形叢集、封存設定檔限制、漸層透明度、圖片效果、圖表裝飾、密集標籤放置與輸出原子性,且不會因重複內容而產生資源增長
版本 2.324.0
已新增
- 透過
TXLSFormulaTokenStream、ParseFormulaTokens、GetFormulaTokens、FormulaTokensToText與SetFormulaTokens對 XLS 與 XLSX 進行無損公式權杖檢查與受保護的回寫,公開 RPN 權杖種類與類別、原始 BIFF 權杖與附加承載、獨立的參照旗標、複製、參照取代、情境來源,以及精確相容的 BIFF 重複使用,同時在變更儲存格之前拒絕格式錯誤、不相容、陣列擁有或不受支援的串流 - 透過
TXLSCompiledTableReportBand的可擴充 Excel 表格報表帶,使用單一有界游標快照展開單一資料範本列,同時保留頁首、總計、表格與自動篩選範圍、篩選與排序狀態、欄中繼資料、計算與總計公式、樣式、結構化參照與相依的工作表物件;可表示的零列結果會移除範本資料列,而查詢支援、衝突、無效與溢位的版面則在寫入之前失敗 - 透過
SetFontFallbackChain、AddFontFallback與ClearFontFallbackChains實現的感知樣式 PDF 字型回溯鏈,依字形涵蓋範圍解析來源字型家族與樣式層級、快取已載入的字型面與選取、保留輔助純量與跨執行字素叢集、將獨立的 CID 指派給共用字形的 Unicode 序列、嵌入獨立的 TTC 字型面,並在沒有任何內嵌字形可用時原子化地拒絕 PDF/A 輸出
版本 2.323.0
已新增
- 透過
TXLSCompiledReportTemplate實現可重用的工作簿報表範本:佔位符只編譯一次,且可在不重新掃描工作簿的情況下重複套用,使用排序後的值查閱與預先分割的文字片段,涵蓋儲存格、富文字、註解、執行緒註解、超連結、文字方塊、圖表標題與數列名稱、頁首與頁尾、工作表名稱、已定義名稱與文件屬性 - 透過
IXLSReportTable、IXLSReportCursor、延遲的IXLSReportTableProvider載入、隨機存取記憶體表格與TXLSReportRelationIndex實現報表資料繫結,後者只建置一次複合鍵子項雜湊並保留列號,而不是為重複的主從查閱複製列承載 - 公式計算現在會評估達到目標投資值所需期數的
PDURATION,以及等效定期成長率的RRI,包括與 Excel 相容的數值錯誤界限與必要的 OOXML_xlfn.儲存前置詞 - 公式計算現在會評估
ISOMITTED、ARRAYTOTEXT與VALUETOTEXT,包括與空白儲存格保持區別的專用省略引數值、BIFF 遺漏引數權杖的往返、一維與二維陣列、嚴格的字串逸出、當地語系化分隔符號、錯誤轉換規則與 OOXML 未來函式前置詞 - 透過
TXLSXWorkbook.AnalyzeFormulaIssues實現的結構化公式預檢,會報告遺漏函式、外部工作簿參照與精確的循環相依性元件(含儲存格座標與有界成員清單),同時字串常值與本機結構化參照不會被誤判為相符 - 透過
TXLSXWorksheet.CloneRangeTo實現的感知相依性範圍複製,在一次操作中複製選取的儲存格、合併範圍、條件格式、資料驗證、超連結、註解、影像與圖表,重新定位套用的範圍與錨點,並以混合的相對與絕對參照語意轉譯公式承載;報表帶對相依物件使用相同的路徑 - 透過
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實現的延遲報表表格組合子,提供前 N 列、欄投影、列數、最小值與多個彙總定義、結構描述對應的聯集、連續分割分割區,以及保留重複項的內部或左側雜湊聯結,而不會具體化完整的中間列承載 - 透過
TXLSPageImageExporter實現的漸進式 PNG 與 JPEG 頁面匯出,支援 XLS 與 XLSX 範圍、工作表與工作簿,並具備頁面選取、DPI、縮放、JPEG 品質、進度、取消與可重用工作階段;每個工作階段建置一個分頁模型,並在每一頁之後釋放點陣圖記憶體 - 透過
TXLSXWorkbook.WorkbookViews實現的多個 XLSX 工作簿視窗,保留獨立的作用中索引標籤、第一個可見工作表、可見性、最小化狀態、幾何、索引標籤顯示、捲動、未知屬性、擴充與正確重新對應的工作表檢視繫結,而現有的單一視窗屬性則繼續指向第一個檢視 - 透過
TXLSCompiledReportBand實現的具名列、欄與交叉表報表帶,會從單次掃描的有界資料快照結構性展開已定義名稱的範本,保留公式與相依的工作表物件、平鋪明確的列與欄中繼資料而不建立零大小的預設值,並重複使用固定的來源集合界限,因此同一工作表上的重複複製不會重新掃描已產生的承載 - PDF 匯出現在會將兩停靠點與多停靠點的軸向或徑向漸層寫為原生 PDF 著色,重複使用相同的函式、著色與透明度資源、將每個填滿裁剪到其儲存格,並套用實心或統一的漸層透明度,而不再使用先前的帶狀矩形近似
已修正
- 自訂的點式紙張寬度與高度覆寫現在同時參與分頁帶計算與最終頁面物件,因此分頁符號與轉譯尺寸使用相同的可用區域
版本 2.322.0
已新增
- 公式計算現在會評估第一類貝索函數
BESSELJ(振盪)與BESSELI(修正型),透過冪級數搭配項遞迴計算,以在實際的引數範圍內維持數值穩定
版本 2.321.0
已修正
- XLSX RTF 匯出現在會建立真實的字型表,而不再將 Calibri 寫死:預掃描會收集每個不同的儲存格字型名稱,
\fonttbl會以各自的\fN索引列出每一項,而每個儲存格的文字會參照其實際字型 — 以 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(Macaulay 與修正型)、TBILLEQ/TBILLPRICE/TBILLYIELD(國庫券)、DISC/INTRATE/RECEIVED(折價與利息)、ACCRINTM(到期應計利息)、DOLLARDE/DOLLARFR(分數美元換算)、EFFECT/NOMINAL(有效與名目利率)、CUMIPMT/CUMPRINC(累計利息與本金)、FVSCHEDULE(變動利率未來值),以及AMORDEGRC/AMORLINC(法式折舊);全部都共用一個自足的巢狀票息日期引擎,搭配五種標準的日數基準
版本 2.317.0
已新增
- 加密活頁簿載入現在接受宣告 SHA-256 雜湊演算法(由某些第三方寫入器產生)的 Agile Encryption 檔案:密碼金鑰衍生、spin 迴圈、密碼驗證器,以及資料完整性金鑰/值 IV 與 HMAC 都遵循宣告的雜湊,而宣告金鑰資料與金鑰加密器之間雜湊不符的檔案仍會被拒絕;儲存則繼續寫入 Excel 的預設 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會開啟現有的活頁簿,並只重寫一個工作表 — 其他每個部分(樣式、繪圖、圖表、樞紐分析表、自訂部分)都會以其壓縮位元組逐字複製過去,不進行任何解壓縮或重新撰寫,因此大型範本可以在一小部分的完整重建時間內更新其資料表 - 修補模式也可以附加新的工作表:該表會登記在活頁簿部分清單、關聯與內容類型中,編號永遠不會與現有部分衝突,並遵循套件自身的嚴格或過渡性關聯慣例
- 修補後的套件會自動捨棄過時的計算鏈(Excel 會在載入時重建),而需要新套件部分的功能(表格、圖表、影像、註解、已定義名稱)會報告明確的錯誤,而不是寫入無效的套件
版本 2.312.0
已新增
- 嚴格 Open XML 輸出:在 XLSX 活頁簿上設定
StrictOOXML會以 ISO/IEC 29500 嚴格一致性儲存套件 — 每個命名空間宣告與關聯型別都會從過渡性詞彙切換為purl.oclc.org的嚴格詞彙,涵蓋工作表、共用字串、樣式、主題、繪圖、圖表、註解、文件屬性與保留的部分,而內容型別、部分名稱與 VML 詞彙則維持兩種一致性類別共用的形式 - 讀取嚴格一致性活頁簿現在已完整:以嚴格形式撰寫的關聯型別會解析到與其過渡性對應項目相同的目標,補足對嚴格元素命名空間的接受度,因此以 Excel 的「Strict Open XML Spreadsheet」模式儲存的檔案,會像任何其他活頁簿一樣開啟
- 啟用嚴格輸出儲存時,對於僅以 Microsoft 擴充形式存在的功能(VBA 專案、表單控制項、執行緒註解、動態陣列中繼資料)會報告明確的錯誤,而不是寫入無法驗證的套件
已修正
- 自訂文件屬性宣告了拼錯的 value-types 命名空間,這可能導致屬性部分在外部工具中驗證失敗
版本 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會為每筆記錄複製一次範本區塊,具備每份複製的公式列轉譯、合併範圍複製,以及用於列層級條件的#skip欄位,將任何手作的工作表變成資料驅動的報表產生器
版本 2.308.0
已新增
- PDF 匯出可以附加檔案:
AddAttachment會將原始文件以/EmbeddedFiles項目(檔案規格、內嵌串流含選用 MIME 子型別,以及目錄名稱樹)帶入匯出的 PDF,因此報表會與其輔助資料一起封裝在單一自足的檔案中
已變更
- 讀取帶有無法辨識之 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 匯出新增選用的
UsePDFA模式,會產生已識別的 PDF/A-2b 文件: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進行活頁簿比較:依名稱配對工作表,並報告已新增/已移除的工作表、已新增/已移除的儲存格、已變更的值、已變更的公式,以及已新增/已移除的合併範圍 — 以結構化差異清單供工具使用,並透過Report以每個差異一行的可讀格式呈現
版本 2.302.0
已新增
- 串流直接寫入器新增提取模式的列供應:
OnNeedRow會為每個預期的列觸發一次,供應商會將該列直接寫入寫入器,並宣告資料結束以停止 — 資料管線可以驅動匯出,而無需預先緩衝列清單
版本 2.301.0
已新增
- ODS 匯出現在會寫入儲存格公式:同一工作表的參照會轉換為標準的
of:=OpenFormula 拼寫(方括號參照、分號引數分隔符、字串常值保持不變),而帶工作表限定詞的參照與結構化參照則沿用 Excel 自身用於跨套件往返的msoxl:透傳機制 — 儲存後的套件會以原始的 Excel 公式文字重新開啟
版本 2.300.0
已新增
- 由右至左的工作表現現在隨處都以鏡像方式轉譯:PDF 匯出會在可列印寬度內翻轉欄幾何配置(A 欄位於右側,儲存格內容不變),而兩個 HTML 匯出器都會在表格上發出
dir="rtl",讓瀏覽器翻轉欄順序 — 該工作表旗標已可透過 XLSX 與 BIFF 往返
版本 2.299.0
已新增
- 資料集匯出(
TDataToXLS)新增標題帶與頁尾帶:Title會在頁首上方轉譯一個合併、粗體樣式的列(使用自身的TitleFont與選用的TitleColor),Footer則在最後一筆資料或彙總列下方附加一行 - 工作表上的
ForEachFormattedCell會依列/欄順序走訪每個已填入的儲存格,並透過回呼提供其顯示文字(已套用數字格式),可供建立索引與文字擷取使用
版本 2.298.0
已新增
- ApiTour 範例現在啟動即直接進入即時展示:一個包含 KPI 圖塊、跨工作表
SUMIF/COUNTIF公式、資料橫條、色階、圖示集與兩個圖表的記憶體內銷售儀表板,會在範例啟動的當下轉譯於內嵌的活頁簿檢視器中;每個網格儲存格仍保持可編輯,並具備即時重算與更新的條件式格式;一鍵動作可將展示匯出為 PDF、HTML 與 CSV,或交由 Excel 處理,並顯示即時的建置與匯出耗時 - C++Builder 版的 ApiTour 範例也復刻了新的 Delphi 展示、內嵌檢視器、公式列、匯出動作與活動記錄
已變更
- ApiTour 範例以視窗內的活動記錄取代強制回應的結果對話方塊,而經典的建立、修改與匯出逐步解說則維持原有行為
版本 2.297.0
已新增
- PDF 匯出新增選用的
UseXRefStream模式,可產生帶壓縮物件串流與二進位交叉參照串流的 PDF 1.5 檔案:小型字典物件在單一 Flate 壓縮容器內傳送,經典的 xref 表格與 trailer 則被緊湊的串流取代,在頁面內容保持逐位元組一致的情況下縮小匯出的文件
版本 2.296.0
已新增
- 串流直接寫入器新增選用的
AutoSplitRows模式:超過工作表列數上限(1048576)的列會結束目前的工作表,並在新建的<name>_2、<name>_3… 工作表上繼續,因此無界限的匯出永遠不會發出非法的列索引 - 工作表上的
FillTableCalculatedColumn會將表格欄的計算欄公式向下推送到每一筆資料列,以 Excel 自身撰寫的方式逐儲存格進行列轉換,然後自然地重新計算
版本 2.295.0
已變更
- XLSX HTML 匯出集中處理儲存格樣式:相同的樣式組合只會在樣式表中以
td.cN類別發出一次,而不是在每個儲存格上重複輸出內嵌的style屬性,藉此縮小樣式一致表格的 HTML 輸出;條件式格式的視覺疊加仍保持內嵌,以保留其逐儲存格的特性
版本 2.294.0
已修正
- 目前列形式(
Table[@Col])的結構化參照現在會在重新計算期間針對公式儲存格自身的列進行評估,串行與並行評估路徑皆然;先前每個這類公式都會讀取該欄的第 1 列 — 通常是頁首文字 — 當該列含有文字時,重新計算會直接因型別轉換錯誤而失敗
版本 2.293.0
已變更
- 選用的
RecalcAggregateCache備忘錄現在也涵蓋無條件的單一範圍彙總 — 針對單一一般工作表範圍的SUM、AVERAGE、MIN、MAX、COUNT與COUNTA— 因此對同一區塊重複計算的合計,會在與條件式系列相同的參照穩定性門控下重用第一趟的結果
版本 2.292.0
已新增
- 活頁簿轉程式碼產生器(
TXLSCodeGen):走訪活頁簿並發出可重建它的原始程式敘述 — 工作表建立、儲存格值、公式、數字格式、欄寬與合併範圍 — 支援 Delphi 或 C++Builder 方言,因此手工製作的檔案可變成現成的 API 範例 - 欄規則匯入驗證器(
TXLSImportCheck):逐欄的必要、文字長度、規則運算式模式與唯一性規則,再加上對工作表資料列執行的呼叫端回呼;違規項目可以用紅色字型與原因註解標示回去,KeepOnlyViolations可將工作表壓縮為僅頁首加失敗列,用於產生「請修正後送回」的活頁簿
版本 2.291.0
已新增
- CSV 匯入接受選項記錄:
OpenCSV的多載除了分隔符號與型別偵測開關之外,還支援跳過前導列(SkipRows,用於網格上方的標題橫幅)與空白修剪(AutoTrim) - 工作表上的
FillMergedCellValues會將每個合併範圍的錨點值複製到其涵蓋的每個成員儲存格,因此帶合併標籤的報表式工作表可被讀成單一平面網格 AddListValidation新增字串陣列的多載,可在單一呼叫中將各項目合併成一個下拉式清單- 資料集匯出(
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)命名空間的工作表、圖表、繪圖與文件屬性部分,會在剖析時正規化到標準詞彙,因此來自第三方產生器與嚴格模式儲存器的檔案都能正確載入
- 儲存格省略
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 匯出以原生向量圖形繪製工作表圖表:群組、堆疊與百分比堆疊的直條圖與橫條圖、帶標記的折線圖、區域圖、帶百分比標籤的圓形圖與圓環圖、散佈圖與雷達圖 — 每張圖都帶標題外框、自動縮放的座標軸、刻度標籤、格線、圖例、選用的逐點資料標籤、逐數列實心填滿,以及 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 透明度:帶 alpha 色版的影像現在會發出軟遮罩平面,而不是失去透明度,包括帶 tRNS 區塊的調色盤影像
已變更
- PDF 頁面內容串流現在以 Flate 壓縮,可在不要求檢視器具備超出 PDF 1.4 的能力下,大幅縮小匯出的文件
- PDF 匯出會將連續的文字操作批次處理為共享的文字區塊,並跳過多餘的字型、大小與顏色選取,同時縮小輸出大小與產生時間
- 具有相同實心填滿的相鄰儲存格會轉譯為單一合併矩形,共線且樣式相同的框線區段則以單一筆畫繪製,而不是逐儲存格邊緣
- PNG 影像在不經過解碼與重新編碼的情況下嵌入 PDF,保留原始的壓縮串流與精確的像素
- 位元組內容完全相同的影像只會嵌入一次並共享,無論有多少影像物件參照它們
已修正
- 文字透過內嵌 Unicode 字型路徑轉譯的連結儲存格,現在也會建立超連結註釋
- PDF 內容位元組不再依賴作用中的系統字碼頁,因此西文文字在任何 Windows 地區設定下都會以相同方式轉譯
版本 2.281.0
已修正
- 剪貼簿讀取器不再將資料控制代碼截斷為 32 位元,先前這會導致
XLSGetClipboardBiff8與 XML 試算表貼上路徑在 64 位元應用程式中傳回空白 - 當其他應用程式持有剪貼簿時,剪貼簿作業會在最多半秒內重試開啟剪貼簿,而不是在第一次發生競爭時就失敗
已變更
- 條件式格式規則查閱(
FindAt/IndexOfCell路徑)現在只剖析每條規則’s 儲存格範圍一次,而不是在每個被查詢的儲存格上都剖析,與資料驗證快取一致 - PDF 匯出會建立逐工作表的超連結索引,以二元搜尋取代逐儲存格的線性掃描
版本 2.280.0
已新增
- 使用者定義函式現在可以依名稱註冊:
RegisterUserFunction會將呼叫該名稱的公式直接分派給其處理常式(不需要在單一OnUserFunction中使用全域 if 鏈),而未註冊的名稱仍由活頁簿事件提供服務 ScanUnknownFunctions會稽核活頁簿中計算引擎無法評估的公式函式,並報告每個儲存格與名稱 — 在對外部檔案啟用重新計算之前尤其理想RecoveryMode:結構受損的工作表部分會以警告診斷跳過,而不是中止整個開啟作業- 原生 BIFF8 剪貼簿格式:
XLSSetClipboardBiff8/XLSGetClipboardBiff8會發布並讀取 Excel 自身使用的Biff8串流,因此剪貼簿交換會保留值、公式與格式
已變更
- 資料驗證稽核現在只剖析每條規則’s 儲存格範圍一次,而不是在每個儲存格上剖析,藉此加速大型工作表上的
CheckDataValidations
版本 2.279.0
已新增
- PDF 匯出內嵌工作表影像:PNG/GIF/BMP 點陣圖會轉換為 Flate 壓縮的 RGB XObject,JPEG 檔案則透過 DCTDecode 原封不動地通過(不重新壓縮);多頁上的相同影像共享一個物件,而未明確指定大小的影像現在預設採用 96 DPI 下的像素尺寸
- 保持在一起區塊:
KeepRowsTogether阻止列印/PDF 分頁在可放入一頁的列區塊內部斷頁,XlsxAutoPageBreaks則將自然的(感知保持的)頁面邊界轉為明確的列分頁,讓 Excel 以與匯出相同的方式分頁 - 可設定的 XLSX 壓縮:
ZipCompressionLevel為儲存選取 deflate 層級(預設 -1 至 9) - 可重現的儲存:
DeterministicOutput會固定 zip 項目的時間戳記,因此兩次儲存相同的活頁簿會產生逐位元組相同的檔案
已修正
- 帶循環 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(間隙 / 跨距 / 零)與PlotVisibleOnly,而不將它們寫死,並在開啟時從保留的 ChartML 復原兩者 - 註解攜帶可編輯的方塊幾何(
WidthPt/HeightPt、VML 點)以及由文字驅動的AutoSizeFromText啟發式
版本 2.275.0
已新增
- 尋找與取代了解 Excel 的萬用字元:
*(任意字元序列)、?(正好一個字元),以及~作為常值*、?或~的逸出字元 — 與 Excel 在尋找與取代、COUNTIF系列條件與自動篩選中套用的語意相同 - XLSX 工作表的
FindText新增選項多載:大小寫相符、整個儲存格內容相符、同時搜尋公式文字與值、萬用字元模式與反向掃描,並附帶起始錨點,因此重複呼叫可以依序走訪相符項目 ReplaceText獲得相同的選項集合,外加選用的逐相符項目回呼,可以逐儲存格接受、重寫、略過或中止每個取代- 傳統 XLS 工作表的
FindText/ReplaceText獲得萬用字元與整個儲存格多載,因此兩種外觀共用 Excel 的搜尋語意 GetRangeStatistics會掃描一個矩形,並在一次遍歷中報告最小值、最大值、總和、平均值、數值計數與已填入儲存格計數WriteAutoValue會以 Excel 自身儲存格輸入的解讀方式寫入文字:TRUE/FALSE變成布林值,#N/A這類錯誤常值變成錯誤值,明確的 ISO 日期變成日期,一般的不變格式數字變成數字,而其餘一切 — 包括前導零與千位分隔符 — 都維持文字(兩種外觀皆然)GetHtmlFromCell會將一個儲存格轉譯為帶逸出標記的樣式化 HTML 片段,補足整份工作表的 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])仍不受支援
已變更
- 當活頁簿停用完整精確度時,重新計算的結果現在會儲存為四捨五入至每個儲存格數字格式所顯示的小數位數,符合 Excel 對 HotXLS 計算值的「顯示精確度」行為
- 寫入 XLSX 的條件式格式規則現在會收到工作表唯一的優先順序,消除讓 Excel 提示修復的重複優先順序檔案
- 透過新的
IsPivot屬性標記為樞紐分析表範圍的條件式格式,會被路由到擴充桶,而不是工作簿的主要條件式格式區塊,否則 Excel 會捨棄或錯放它們
版本 2.273.0
已變更
TXLSXWorkbook.PreserveRawParts現在會以原始壓縮承載複製未變更的工作表影像、頁首與頁尾影像及圖表部分,而影像資料編輯與圖表模型編輯則走序列化路徑- 成功的檔案 SaveAs 現在會接受已提交的套件作為下一次原始複製基準,讓後續的儲存可以重用新序列化的不透明資料、VBA、連線、外部連結、影像、圖表、主題與樞紐承載,而不必重新開啟先前的來源套件
已修正
- 來自部分位置非標準之套件的未知工作表與繪圖關聯,現在會針對其產生的標準擁有者重新錨定,包括唯一錨點是保留的未受支援圖形的純繪圖套件
- 失敗的壓縮成員複製現在會在安全序列化回溯之前,復原其部分的區域頁首、承載位元組、父資料夾項目與中央目錄計數,防止無法觸及的資料在輸出封存中累積
版本 2.272.0
已變更
- XLSX SaveAs 現在會為完整的儲存作業開啟一個已驗證的來源封存,並以原始壓縮承載複製每個未變更且可透過關聯觸及的原始部分,避免重複的中央目錄掃描加上解壓縮與重新壓縮,而修改過的承載仍走序列化路徑
已修正
- 來自活頁簿使用非標準部分名稱之套件的未知活頁簿關聯,現在會針對產生的活頁簿位置重新錨定,防止其保留的目標部分在 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 會攜帶包含這些欄位的/Info字典,加上Creator/Producer識別與CreationDate,而沒有中繼資料的預設匯出保持逐位元組相同
版本 2.262.0
已修正
- CSV 匯出不再過度加引號欄位:內部空格不再強制加引號,因此
John Smith這類值會以不加引號的方式寫入,符合 RFC 4180 與 Excel;含分隔符、雙引號、換行或前導/尾隨空白的欄位仍照舊加引號
版本 2.261.0
已新增
- 每個圖表數列現在可以透過新的
SolidFillHex屬性攜帶實心填滿色彩,以數列的<c:spPr>圖形屬性發出;指派十六進位色彩會為數列蓋上品牌或調色盤色彩,而不是 Excel 的自動主題色,而未設定的數列保持逐位元組相同,同時開啟後編輯的合併清單將spPr視為已擁有,因此它會取代而不是重複
版本 2.260.0
已變更
- 稀疏儲存格儲存後端現在會以幾何方式(加倍)增長每個 256 列區塊緩衝區,而不是在每個附加的儲存格上重新配置,移除載入密集工作表時的二次方複製成本
版本 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 封存,剖析延伸資訊額外欄位以及 ZIP64 中央目錄結尾記錄與定位器,因此部分或偏移超過 4 GB / 65535 項目傳統限制的活頁簿可以正確開啟,而不是在中央目錄結尾健全性檢查中失敗
版本 2.254.0
安全性
- 加密活頁簿的密碼驗證現在會以常數時間比較驗證器雜湊,Agile 與 Standard 加密皆然,關閉可能洩漏密碼雜湊有多少前導位元組相符的計時側通道
- 當系統 CSPRNG 不可用時,Agile 加密不再回溯到以時間為種子的虛擬隨機產生器來產生鹽、驗證器與中繼金鑰;它現在會以失敗關閉的方式取代發出可預測的金鑰材料
版本 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 的
definedNamecomment屬性往返 - 本機檔案超連結目標會正規化(反斜線轉正斜線、
file://與file:///前置詞、保留字元的百分比編碼),因此 Excel 會逐字儲存它們 - 圖形、圖片與文字方塊的填滿種類(實心、圖片、漸層、無、自動)現在會以型別覆蓋原始的填滿型別屬性,並忠實往返
- 條件式格式的資料橫條支援 Excel 2010+ 的獨立負值橫條框線顏色
- 樞紐快取欄位會往返多層級的日期與數值群組關聯
- 使用者函式回呼會收到引數種類描述元,讓處理常式可以區分字面值、儲存格或範圍參照與陣列常數
- 公式編譯接受當地語系化的函式名稱(德文、法文、西班牙文),在進行詞法分析之前重寫為標準英文
- 密碼與加密輔助程式公開具名的回傳碼常數
已變更
- 套件與 XLSX 儲存現在會流經更大的 deflate 緩衝區,搭配較高的壓縮記憶體層級,並跳過對已壓縮位元組的多餘總和檢查碼處理,減少儲存時的 CPU 與耗時
- 內部的字串建置器、清單與雜湊表增長現在使用幾何(倍增)配置,搭配更早的雜湊調整大小時機,在活頁簿承載許多樣式、名稱、已定義範圍或共用字串時,降低配置波動與查閱成本
- 共用字串表格查閱現在會先直接比較儲存的位元組,再具體化完整字串,減少大型共用字串表格上的查閱配置
版本 2.251.0
已修正
- XLSX 開啟與儲存現在會在重新產生具型別的工作簿狀態時,保留外部的工作簿根命名空間宣告、標記相容性屬性、完整的工作簿層級
<extLst>承載與其未知關聯;已保留的r:id參照會遵循關聯 ID 重新指派,而不再在與產生的工作表或工作簿關聯衝突時變成過時
版本 2.250.0
已變更
- XLSX 稀疏列項目現在只儲存其欄與穩定的儲存格控制代碼,每當儲存格值、公式或富文字物件變更時,消除未使用的承載標籤、多餘的分類以及第二次的列索引查閱
版本 2.249.0
已新增
TXLSRTFImport.LoadFromRTF與TXLSWorksheet.OpenRTF的多載可以在明確的以 1 為基底的目標列與欄匯入表格或段落清單,而原始多載則繼續從 A1 開始
已變更
- XLSX 具型別的列寫入器現在會將嚴格前向的批次直接附加到預先調整大小的稀疏列向量,而稀疏儲存格查閱會在不進行二元搜尋的情況下解析第一欄與最後一欄的命中,同時重疊寫入保留其現有的取代路徑與穩定的儲存格控制代碼
已修正
- 檔案支援的 XLSX 原始部分複製與選擇性工作表載入現在使用私有的來源封存身分,具備大小與時間戳記驗證,因此之後的串流開啟或公開的
FileName指派無法將保留的部分重新導向到另一個活頁簿 RefreshPivotCache現在會將重新整理的快取切換為具型別的序列化,因此重建的記錄無法在儲存期間被過時的原始套件位元組覆寫- 原始壓縮 ZIP 複製現在要求來源串流恰好包含宣告的壓縮位元組計數,在中央目錄登記之前拒絕截斷與過長的項目
- 重用單一 RTF 匯入器現在會在文件之間重設字碼頁與字元格式剖析器狀態,因此粗體、斜體、底線、刪除線與字型大小不會洩漏到下一次匯入
MetadataOnlyXLSX 開啟現在會避免共用字串、人員、工作表關聯、註解、繪圖、圖表、表格、查詢表格、樞紐分析表與工作表可達的模糊承載,同時保留工作簿屬性、名稱、工作表狀態、樣式、主題、連線與外部連結
版本 2.248.0
已變更
- XLSX SaveAs 現在在剖析的連線模型未變更時,會從來源套件原始複製未變更的
connections.xml部分,保留來源 XML 的忠實度並避免不必要的解壓縮與重新壓縮,同時仍從具型別模型重寫已編輯的連線
版本 2.247.0
已變更
- XLSX SaveAs 現在在剖析的模型未變更時,會從來源套件原始複製未變更的外部連結 XML 與關聯部分,保留未知的擴充 XML 並避免不必要的解壓縮與重新壓縮,同時仍從具型別模型重寫已編輯的連結
版本 2.246.0
已新增
TXLSHTMLImport.LoadFromHTML的多載可以在以 1 為基底的目標列與欄匯入、選取一個以 0 為基底的最上層表格或所有表格,並以明確的小數分隔符號剖析數字,而不會變更全域格式設定
已變更
- XLSX 樣式載入現在透過共享的不可變 cellXf 陣列解析每個儲存格樣式,而不是重複的字串鍵建置與線性對應搜尋,減少樣式活頁簿的開啟時間與暫存配置
已修正
- 已修改的 VBA 專案位元組現在會繞過保留的原始部分複製,因此儲存已編輯的巨集啟用活頁簿無法還原原始的
vbaProject.bin承載 - 原始 ZIP 成員複製現在拒絕 STORE 與 DEFLATE 以外的壓縮方法,而不是發出不匹配的壓縮標頭,讓呼叫端可以使用安全的解壓縮與重寫回溯路徑
- HTML 匯入現在會忽略最上層表格之外的列與儲存格標籤,並保留原始多載既有的全表格行為
版本 2.245.0
已新增
- 可編輯的
TXLSWorkbookViewer儲存格,具備感知受保護儲存格的輸入、公式輸入與重新計算、矩形範圍選取、公式參照挑選,以及有界的循環復原與重做歷程 TXLSPivotDesigner提供可重用的非視覺欄位清單模型,具備列、欄、篩選與值區域、確定性的欄位移動、彙總選取、版面驗證與結果套用- 傳統 XLS 活頁簿現在提供
CalculateAndVerify診斷,帶有共享的不匹配記錄,包含工作表身分、以 1 為基底的儲存格座標、快取與新計算的值,以及公式文字 - 傳統 XLS 與 XLSX 工作表現在提供具型別的數值、字串與變體列與欄寫入器,具備以 1 為基底的座標、網格邊界裁剪、直接儲存格模型寫入與回傳的寫入計數
已變更
- XLSX 檢視器繪製現在透過在重繪與樣式解析期間避免空白儲存格具體化,來保留稀疏工作表
TXLSXWorksheet.ReplaceText現在會以線性時間直接走訪儲存的儲存格,而不會複製與排序完整的儲存格集合
已修正
- 傳統 XLS RC4 與 RC4 CryptoAPI 讀取與寫入現在會保留
[MS-XLS]要求的每個明文記錄本體、讓BoundSheet8.lbPlyPos保持未加密、消耗匹配的金鑰串流位置,並在讀取FILEPASS之後的第一個加密記錄前啟動解密 - SpreadsheetML 序列化現在只將對稱的
_xHHHH_編碼器套用於 Xstring 欄位,而公式與參照語法使用一般的 XML 逸出,因此權杖形狀的字面值會保留其精確的公式意義
版本 2.244.0
已新增
- 多格式剪貼簿匯入:
XLSPasteFromClipboardRich偏好 XML 試算表剪貼簿格式(攜帶公式、樣式與合併)而非純 Unicode 文字,並透過XLSClipboardHasXmlSpreadsheet、XLSGetClipboardXmlSpreadsheet與XLSParseXmlSpreadsheet進行格式偵測、擷取與 SpreadsheetML 2003 剖析
版本 2.243.0
已新增
- 外部已定義名稱:
TXLSXExternalLink現在剖析、儲存並往返外部活頁簿連結的<definedNames>項目(name + refersTo),具備AddDefinedName、FindDefinedName與索引式DefinedNames[]存取 - 每張工作表的重新整理失敗狀態:每個
TXLSXExternalSheetData都帶有RefreshError旗標,記錄上次重新整理嘗試是否失敗,並從refreshError屬性剖析與發出
版本 2.242.0
已新增
TXLSXWorkbook.PreserveRawParts在 SaveAs 期間直接從來源封存複製未變更部分(主題、VBA 專案、樞紐分析表與樞紐快取)的壓縮表示,避免對保留的模糊項目進行解壓縮與重新壓縮
版本 2.241.0
已新增
TXLSXWorkbook.SelectedSheets屬性啟用選擇性工作表載入:Open 只剖析清單中具名工作表的儲存格 XML,而其他工作表以零儲存格保留其名稱與可見性狀態。呼叫LoadSheet(Index)即可依需求從原始封存具體化跳過的工作表
版本 2.240.0
已新增
TXLSXWorkbook.MetadataOnly開啟模式剖析工作簿屬性、已定義名稱、工作表名稱與可見性狀態、樣式、主題、連線與外部連結,但跳過所有工作表儲存格 XML 與衛星部分,以從大型活頁簿快速探索屬性與名稱
版本 2.239.0
已新增
- 緊湊的 256 列區塊儲存格儲存,具備穩定的公開控制代碼、列優先的快取友善序列化,以及每次儲存前跨所有活頁簿集區的樣式壓縮
- 間隔樣式疊層讓列、欄與矩形格式保持緊湊,而不會具體化空白儲存格物件、在儲存格存取時延遲解析、在結構性編輯後存續,並以緊湊的欄、列與僅樣式儲存格項目往返
已變更
- 一般活頁簿儲存現在會將每個工作表列直接串流到套件 deflate 串流,因此尖峰記憶體會跟隨最大的單一列,而不是完整的工作表 XML
- 共用字串與輔助 XML 部分現在一次串流一個項目,透過單一可重用的 UTF-8 序列化器,以最大的項目而非整個部分來界定尖峰記憶體
版本 2.238.0
已新增
TXLSPaginationModel為 XLS 與 XLSX 範圍、工作表與活頁簿建置可重用的邏輯頁面,具備紙張幾何、邊界、頁首、頁尾、列與欄帶、重複標題、頁面順序、格線原則與繪圖放置TXLSWorkbookViewer現在提供共享模型的列印預覽、鍵盤與滾輪頁面導覽、快取的PaginationModel存取、明確的RefreshPagination,以及選取頁面的 EMF 輸出TXLSPDFExport.CreatePaginationModel公開 PDF 計數與轉譯所用的確切自有頁面模型,適用於全部六種 XLS 與 XLSX 輸入類型
已變更
- PDF 匯出與頁面計數現在使用單一分頁引擎,而不是維護分開的 XLS 與 XLSX 頁面迴圈
- 符合寬度與符合高度的縮放現在會針對實際的頁面帶求解,包括手動分頁與重複標題,在 Excel 的 10% 至 400% 縮放範圍內
版本 2.237.0
已新增
TXLSFormulaDebugger建立自有的互動式工作階段,包含剖析的運算式樹、來源範圍、運算子、運算元節點與值、中間結果、確定性的評估順序,以及可導覽的目前步驟狀態- 公式除錯工作階段會公開帶已解析工作表座標的儲存格與範圍相依性,為
IF、IFERROR、IFNA、CHOOSE、IFS與SWITCH回報已選取與已跳過的分支,並保留已復原的內部錯誤及其來源節點
已變更
- 活頁簿與工作表的
Calculate現在會將 Excel 公式失敗以標準的Variant錯誤值回傳,而不是將它們轉換為Null TXLSFormulaTracer現在會為推入與縮減步驟記錄精確的運算元前後堆疊
版本 2.236.0
已新增
TXLSXWorksheet.StructuralEditRegistry現在讓應用程式持有的工作表中繼資料透過IXLSXStructuralEditParticipant參與列與欄的插入或刪除
已變更
- XLSX 結構性編輯現在在單一受保護的交易中完成其參照敏感的工作,涵蓋公式、名稱、驗證、條件式格式、註解、超連結、繪圖、表格、查詢、情節、資料表格、列印設定、走勢圖、樞紐快取與檢視,以及工作表擴充
已修正
- 插入或刪除的列與欄現在會更新受保護的範圍、執行緒註解錨點、重新開啟的傳統註解 VML、本機與跨工作表走勢圖參照、具型別的樞紐來源與錨點、計算的樞紐公式,以及保留的工作表擴充 XML 內可辨識的參照
版本 2.235.0
已新增
TXLSDirectWriter現在新增傳統註解、錨定的工作表影像、公式支援的直條圖、橫條圖、折線圖、區域圖、圓形圖、圓環圖與散佈圖,以及完整的呼叫端提供 ChartML,而不需建構完整的工作簿物件模型- 影像可以位元組、具選用所有權移轉的可搜尋串流或檔案路徑提供,並可使用 PNG、JPEG、GIF、BMP、EMF 或 WMF 內容
已變更
- 豐富的直接寫入器部分使用目前工作表的側通道描述元、在工作表關閉前指派工作表關聯識別,並在工作表 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會將一張圖片選擇加入乾淨的具型別模型重新產生
已變更
- 影像效果值使用緊湊的定點儲存,並寫入原生的 DrawingML 單位,而不配置每個效果一個輔助物件
已修正
- 在匯入的影像上編輯受支援的屬性,現在會保留無關的擴充、標記相容性選擇、自訂屬性、圖形效果與命名空間限定內容
版本 2.231.0
已新增
- 在啟用
TXLSXWorkbook.PreserveUnsupportedParts時,匯入的 XLSX 圖表現在保留其原始 ChartML,保留未知的命名空間、標記相容性替代方案、擴充清單、自訂樣式與未建模的格式 TXLSXChart.HasPreservedXml回報原始 ChartML 是否可用,而ClearPreservedXml讓應用程式將一張圖表選擇加入乾淨的具型別模型重新產生
已變更
- 儲存未修改的匯入圖表會重播其原始 ChartML,而對受支援屬性的編輯只會結構性疊層已建模的圖表節點,並讓無關內容保持原位
已修正
- 編輯圖表標題、數列、座標軸或其他受支援屬性,不再捨棄圖表部分中無關的 Excel 作者擴充、替代內容、樣式或格式
版本 2.230.0
已新增
TXLSXChart.AddPlotGroup現在建置有序的組合圖表,其圖表家族與數列保留獨立的主要或次要座標軸指派- 圖表現在公開主要與次要的類別與值座標軸,加上數列座標軸,具備具型別的類別、值、日期與數列座標軸設定,包括位置、識別、交叉、日期單位、標籤間隔與可見性
- 直條圖、橫條圖、折線圖、圓形圖與區域圖現在有專用的 3D 圖表類型,具備可設定的旋轉、高度、深度、透視、直角座標軸與間隙深度
- 數列現在公開名稱、類別、值與泡泡大小的具型別字串與數值快取,包括稀疏點索引與數值格式代碼
已變更
- 相容性的
ChartType、AddSeries與扁平SeriesAPI 繼續處理主要繪圖群組,而圖表模型保留每個有序的繪圖群組
已修正
- 開啟與重新儲存組合圖表不再將它們合併成單一圖表家族,或遺失次要、日期或數列座標軸
- 圖表公式參照與快取的數列值現在會在活頁簿複製與開啟/儲存循環中存續,而不會被扁平化或捨棄
- 圖表錨點現在依關聯識別與其圖表部分配對,因此重新排序關聯項目的應用程式不再交換工作表位置之間的圖表內容
版本 2.229.0
已新增
TXLSXWorksheet.HeaderFooterImages現在會為奇數頁、偶數頁和首頁上每一個左、中、右頁首或頁尾位置建立、尋找、取代並移除具型別的影像位置- 頁首和頁尾影像會公開其原始資料、格式、標題、點尺寸與點邊界,並支援直接從 PNG、JPEG、GIF、BMP、EMF 和 WMF 檔案載入
已變更
- 當編輯頁首或頁尾文字時,偶數頁和首頁影像會自動啟用相符的頁面變體,並維護所需的圖片欄位代碼
已修正
- 當工作表註解與頁首或頁尾影像共用同一個工作表時,現在會保留各自的獨立 VML 關係
- 由 Excel 製作的頁首和頁尾影像位置現在會在開啟和儲存週期中保留其影像位元組、格式、標題、尺寸、邊界與關係
版本 2.228.0
已新增
- 傳統 XLS 工作表與圖案集合現在會在核取方塊、下拉式方塊與清單方塊旁建立並探索具型別的
TXLSButton與TXLSRadioButton控制項 - 表單控制項現在透過具型別屬性公開巨集名稱、連結儲存格、輸入範圍、核取狀態、平面或 3D 外觀以及選項群組連結
- 已定義名稱公開
IsMacro,讓巨集繫結保留所需的工作簿名稱中繼資料
已修正
- 編輯並重新儲存傳統表單控制項不再丟棄核取狀態、巨集繫結、連結儲存格公式、來源範圍或受支援的選項群組中繼資料
- 清除下拉式方塊或清單方塊的來源範圍現在會移除已序列化的輸入公式,而不是在下一次開啟時還原之前的範圍
版本 2.227.0
已新增
LINEST與LOGEST現在傳回完整的多變數係數陣列以及選用的五列統計矩陣TREND與GROWTH現在針對單變數與多變數輸入傳回成形的預測陣列
已變更
- 陣列算術、比較、串連、一元負數與百分比運算現在會廣播純量以及單一列或單一欄,同時保留逐儲存格結果
- 計算相依性現在會展開巢狀的工作簿與工作表名稱、公式定義的名稱以及多區域參照,並具備範圍感知的循環保護
已修正
- 某一個陣列元素中的錯誤不再造成完整結果崩潰,也不會錯誤地回復為純量評估
- 相依性可以靜態解析的公式定義名稱不再強制進行不必要的揮發性完整重新計算
版本 2.226.0
已新增
- 現有的 XLSX 樞紐快取與樞紐分析表檢視現在透過套件關係載入到具型別模型中,包括快取記錄、欄位、共用項目、群組、篩選、格式、計算定義與擴充
TXLSPivotTable.Make現在以具備相依性感知的名稱繫結方式,評估計算快取欄位、計算項目與資料計算成員- 擴充的
ShowDataAs模式新增了父項百分比、累加百分比以及遞增或遞減排名,並具有有效的 XLSX 擴充標記
已變更
- 樞紐結果產生現在在建置分組網域之前會套用項目可見性、頁面選取以及標題、日期、彙總與值篩選
- 數值、日期與離散群組,標籤或資料值排序,已設定的分類小計,以及選用的具體化總計列或欄,現在都參與結果產生
已修正
- 樞紐篩選現在使用結構描述有效的根層級篩選標記與符號化篩選類型,而不是含糊的數值
- 基於關係的載入不再假設慣例或循序的樞紐快取、快取記錄或樞紐分析表部分名稱
版本 2.225.0
已新增
TXLSXWorkbook.Connections與TXLSXWorksheet.QueryTables現在為外部資料庫、Web、文字和查詢結果中繼資料提供類型化的建立與編輯功能- 連線參數保留其精確的 Boolean、整數、浮點數、字串或儲存格參照類型,包含明確的零、false 和空字串值
已變更
- XLSX 開啟和儲存現在透過其擁有關係解析並寫入連線和查詢表組件,同步結果表格與已定義名稱,並保留未知的屬性、子節點和擴充清單
- 列與欄編輯保持查詢結果範圍對齊,而同一活頁簿和跨活頁簿的工作表複製保留查詢所有權,並重新對應連線識別碼和衝突的名稱
已修正
- 查詢表可與標準表格、執行緒註解和樞紐分析表共存,而不會發生工作表或活頁簿關聯識別碼衝突
版本 2.224.0
已新增
- 傳統 XLS 與現代 XLSX 工作表現在公開
AddDataTable與DataTables,用於單變數列、單變數欄及雙變數 What-If 資料表
已變更
- 活頁簿重新計算以隔離的輸入情境評估每個資料表結果(包括間接公式相依),並透過開啟、儲存、工作表複製以及結構性列或欄編輯保留定義與快取結果
已修正
- 已刪除的 What-If 輸入儲存格現在產生
#REF!結果,並且傳統活頁簿重新計算會造訪每個工作表,而不再遺漏第一個工作表 - 在傳統工作表頂端插入列不再於 Win64 上造成存取違規風險
版本 2.223.0
已變更
- 平行直接讀取器的取消現在會透過活躍的 ZIP 成員讀取與每個解壓縮步驟傳播,而不再等待下一次 XML 提取
已修正
- 中止平行工作表掃描不再等待大型壓縮 XML 讀取完成即可釋放被阻塞的工作執行緒
版本 2.222.0
已新增
TXLSDirectReader.ParallelBufferMemoryLimit為平行工作表掃描限制彙總原始儲存格佇列負載,而ParallelPeakBufferedBytes公開所測峰值以供診斷與容量測試
已變更
- 平行直接讀取現在工作表 ZIP 項目串流傳入工作執行緒本地 XML 讀取器與有界生產者-消費者佇列,而不再保留完整已解壓工作表 XML 與每表完整儲存格緩衝區
- 活躍工作表接收獨立佇列預算,並按工作執行緒大小的視窗處理,藉此保留回呼順序,且不讓後續工作表餓死目前發出的工作表
已修正
- 儲存格中止、回呼失敗與工作執行緒錯誤現在喚醒被阻塞的生產者與消費者,協作式停止 XML 提取,聯結所有工作執行緒,並使直接讀取器保持可重用
版本 2.221.0
已變更
- 多表 XLSX 開啟現將每個工作表 ZIP 項目直接串流傳入其工作執行緒本地的解壓縮器與 XML 讀取器,而不再於解析前保留已解壓的工作表 XML
- 並行工作表讀取器僅對來自套件來源的短定位讀取進行序列化,因此解壓縮與 XML 解析保持平行,而暫時工作表輸入記憶體受活躍工作執行緒數限制
版本 2.220.0
已新增
- PivotTable 結果產生現在會執行全部九種傳統
ShowDataAs模式,包含差異、基底項目百分比、百分比差異、累計總計、列百分比、欄百分比、總計百分比以及索引計算 xlPivotBaseItemPrevious與xlPivotBaseItemNext為比較計算中的相鄰基底項目提供具型別的選取器
已變更
- 樞紐百分比與索引值使用直接從來源記錄彙總的列、欄與總計,在不重新掃描來源的情況下保留正確的平均數、乘積、計數、變異數與標準差語意
- 累計總計遵循樞紐項目順序、為每個同層群組獨立重設,並為高基數樞紐保留稀疏的結果儲存
已修正
- BIFF8 的
SXDI記錄現在採用標準 14 位元組固定配置,並透過具型別的讀取保留ShowDataAs、基底欄位、基底項目、數字格式與顯示名稱,同時舊版 HotXLS 記錄仍可讀取 - XLSX 資料欄位現在會寫入樞紐欄位索引、將前一個與下一個選取器對應至所需的 OOXML 值,並僅對使用它們的模式發出基底屬性
- 缺少的比較儲存格保持空白,而現有的零分母則傳回
#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現在會傳回垂直陣列,每個區間一個結果,再加上溢位區
已變更
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現在除了成對樣本外,還能以合併等變異數或 Welch 不等變異數評估獨立樣本,包含單尾與雙尾機率
已變更
- XLSX 開啟現在會針對工作表、共用字串、樣式、佈景主題、巨集、外部連結、註解、執行緒註解、VML、繪圖、圖片、圖表、表格與樞紐分析表,追蹤活頁簿、工作表與繪圖的關聯目標,包含使用重新命名或非連續部分路徑的有效套件
已修正
- 具有重複關聯識別碼的格式錯誤套件,不再允許後續不支援的關聯在相容性復原期間取代第一個可用目標
版本 2.212.0
已變更
- 公式相依性追蹤現在在大工作表上擴展得更好,作法是在重建與骯髒儲存格失效之前,先為儲存格與範圍相依性建立索引
- 大型統計與迴歸公式現在會評估所提供範圍內的每個數值,而不會在前一個固定大小緩衝區就停止
已修正
- 工作表格線之外的 XLSX 儲存格現在會被一致地拒絕,使無效座標無法再偽裝成有效儲存格
- 編輯公式不再重設活頁簿計算模式、反覆運算限制、完整計算旗標或其他計算設定
- Blob 清單讀取現在會明確驗證要求的範圍,並允許在資料流結尾的有效空切片
安全性
- 傳統 XLS 加密現在除了工作表資料外,也涵蓋樞紐快取資料流
- 格式錯誤的 SST 延伸尾部與 ZIP 中央目錄記錄會在過大配置、截斷讀取或內嵌於註解的假目錄記錄影響載入之前被拒絕
版本 2.211.0
已新增
TXLSPivotTable.Make現在會將每個已設定的資料欄位連同其自身的彙總具體化,並依DataFieldAxisIsRow在列或欄上展開值
已變更
- 樞紐結果產生會在所有資料欄位間重用雜湊索引的列與欄索引鍵定義域,根據結果形狀選擇稠密或稀疏累加器儲存,在超過九個索引鍵時保留快取項目順序,並為多欄位軸產出可讀的合併標籤
已修正
Count現在會包含非空白文字、布林、錯誤、日期與數值快取值,而CountNums僅包含數值與日期值;Product對沒有數值的交集會傳回零;空白不再被計為項目;而僅含值的樞紐可以在沒有列或欄欄位的情況下具體化其總計
版本 2.210.0
已新增
TXLSWorkbookViewer現在會呈現 XLSX 條件式填滿、字型色彩與強調、數值格式、方向性正負資料橫條、漸層、框線、座標軸、隱藏值,以及所有內建圖示集系列TXLSWorkbookViewer.RefreshConditionalFormats會在呼叫者就地修改附加的 XLSX 活頁簿後,重建準備好的彙總與臨界狀態
已變更
- 檢視器會為每個作用中的工作表快取一個準備好的條件式格式評估器,在捲動、選取與重繪操作間重用它,並在工作表或活頁簿變更時釋放它
已修正
- 位於最右邊界上的資料橫條座標軸現在會被裁切到擁有它的儲存格內,而不會繪製到相鄰的儲存格
版本 2.209.0
已新增
- XLSX 工作表現在會公開一個準備好的條件式格式評估器,可解析任何儲存格的規則優先順序、
StopIfTrue、相對公式、差異樣式、前/後段排名、高於/低於平均測試、重複與唯一值、相對日期期間、雙色與三色色階、資料橫條與圖示集
已變更
- HTML 與 PDF 匯出現在會呈現相符的條件式填滿、字型強調與色彩、數值格式、色階、方向性正負資料橫條、明確座標軸、圖示系列字符、隱藏值,以及帶有色調解析的佈景主題色彩
- 大型條件式格式定義域現在會重用已編譯的相對公式,而不需為每個儲存格配置語法樹、以串流方式計算平均數、標準差、最小值與最大值統計、僅為排名或百分位規則保留排序後的值、批次排序 Unicode 重複索引鍵,並使用列帶候選索引以避免掃描不相關的規則
已修正
- 傳統條件規則現在會正確載入運算式類型,並一致地評估邊界之間的反轉、不區分大小寫的文字述詞、空白儲存格與錯誤述詞
版本 2.208.0
已變更
- 封裝式儲存格儲存引擎現在會寫入原生的標記字串、布林、錯誤與空白承載,以列優先順序反覆儲存格,並對連續相同類型的儲存格進行遊程編碼,以降低記憶體使用並加快循序輸出
- 傳統活頁簿的共用字串現在會將字元位元組保留在單一配置中,並延遲建立已解碼的字串值,以降低大型唯一字串表的配置負擔
已新增
- 樞紐分析表現在可以從快取記錄,搭配列與欄索引鍵分組以及全部 11 個支援的彙總函式,計算出完整的結果矩陣
- 傳統活頁簿圖表現在會公開具類型的數列、座標軸、圖例與圖表群組資訊,供轉換與檢查工作流程使用
版本 2.207.0
已新增
TXLSPivotCache.RefreshFromSource會從來源工作表範圍建立樞紐快取:它會讀取標題列來為欄位命名、將每筆資料列的不重複值蒸餾到各欄位的共用項目定義域中、從第一個非空白值鎖定欄位類型,並為每個 (記錄, 欄位) 記錄共用項目索引 — 如此便能從資料範圍以程式方式建立樞紐分析表,而不再依賴 Excel 的refreshOnLoad。基於回呼的值讀取器讓樞紐單元不必直接相依於工作表
版本 2.206.0
已新增
- 新的
TlxCellMMU(lxCellMMU單元)實作了封裝、列優先的儲存格儲存引擎,對相等類型與空白儲存格的連續區段進行遊程編碼,並以一個同時作為資料寬度選擇器的標記位元組類型代碼 — 因此一欄小整數每個儲存格只需一個位元組而非八個。引擎會以保留該值的最小寬度來編碼數字(int8 / int16 / int32 / 2 位小數 / 4 位小數的縮放整數 / IEEE 倍精度),以緊密方式儲存字串索引、布林、錯誤與空白儲存格,並公開GetValue/SetNumber/SetStringAPI 與一個正向反覆器。這是現有TXLSXCellsAPI 在功能旗標之下的下一代後端,目標是在密集工作表上減少 10 到 25 倍的工作集
版本 2.205.0
已新增
TXLSCustomChart.GetChartInfo現在會從原始的 BIFF 圖表記錄資料流解碼出語意摘要 — 圖表類型家族(直條圖、折線圖、圓形圖、區域圖、散佈圖、雷達圖、圓環圖、曲面圖、泡泡圖)、數列數量與圖例是否存在 — 如此便能以程式方式查詢 BIFF 圖表的類型,且 BIGH 到 XLSX 的圖表轉換也能挑選正確的目標家族。保證往返保真度的位元組透通儲存維持不變
版本 2.204.0
已變更
- 傳統的
.xls共用字串表現在會以壓縮的 Latin-1 編碼寫入純 ASCII 字串([MS-XLS] §2.5.294fHighByte=0,每字元一個位元組),而不再一律使用 UTF-16,這對 ASCII 含量高的活頁簿而言,大約可使 SST 大小 — 連帶.xls檔案 — 減半
版本 2.203.0
已新增
- 新的
TlxCompoundFile可直接以純 Pascal 讀寫複合檔案二進位(OLE2)容器格式,無需ole32.dll/ COMIStorage相依 — 為記憶體內與跨平台的.xls處理開啟了大門。讀取器涵蓋 HotXLS 在實務上會遇到的 v3 配置(標頭 + 標頭內的 DIFAT + FAT 鏈結走訪 + MiniFAT 與供 4096 位元組以下資料流使用的迷你資料流 + 目錄樹);寫入器會發出 HotXLS 輸出所需的最低限度但有效的 v3 容器
版本 2.202.0
已新增
- 自動篩選排序狀態現在具有具類型的模型(
TXLSXSortState搭配TXLSXSortCondition子項),涵蓋依值 / 儲存格色彩 / 字型色彩 / 圖示排序、排序方法(無 / 筆畫 / 拼音)、區分大小寫、欄排序,以及每個條件的自訂清單 — 如此應用程式便能以程式方式建立排序狀態,而不必編輯原始 XML,同時對於非 HotXLS 所撰寫的檔案,舊版的不透通SortStateXml透通傳遞仍然勝出 - 動態篩選現在會以具類型的
TXLSXDynamicFilterType讀寫(高於/低於平均與標準差、今天/昨天/明天、本/上/下週、月、季與年、年初至今、Q1 至 Q4、M1 至 M12),並帶有選用的val/maxVal邊界 — 開啟使用動態篩選的活頁簿時不再於儲存時丟失它
版本 2.201.0
已新增
- 曲面圖與 3D 曲面圖(
xlsxChartSurface/xlsxChartSurface3D)現在是第一級的圖表類型 — 與其他圖表系列一樣地寫入、讀取與往返 - 快取圖案撰寫 API 涵蓋 OOXML 預設幾何清單的實用子集 — 三角形、菱形、平行四邊形、六邊形、八邊形、箭號、山形、圖說、流程圖節點、星形、心形、太陽、月亮、括號與大括號 — 每個都對應到正確的
prst語彙基元與[MS-ODRAW]圖案識別碼,因此撰寫的圖案能在 Excel 中正確呈現(完整的 187 個預設清單原本就已透過原始錨點透通方式在往返時保留)
版本 2.200.0
已修正
- 開啟自動篩選使用色彩篩選或圖示篩選的活頁簿時,不再於儲存時丟失該篩選 —
colorFilter與iconFilter現在會被讀入具類型的欄位(TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter)並原樣重新發出,而不會因為是無法辨識的篩選欄位子項而丟失
版本 2.199.0
已新增
TCondFormatRule.Evaluate會回答某個條件式格式規則是否對指定儲存格觸發,涵蓋儲存格值比較、公式運算式、文字包含/開始為/結束為、空白與錯誤規則 — 這是查詢某規則目前醒目提示了哪些儲存格,以及在 Excel 之外呈現條件式格式結果的基礎
已變更
FACT與內部的階乘輔助函式現在改用預先計算的 0! 到 170! 表格,而不再於每次呼叫時重新計算 O(n) 乘積,加快了FACT、多項式係數以及 Poisson/Binomial/卡方分配路徑
版本 2.198.0
已變更
- 儲存工作表現在會以單次的計數後填入處理將儲存格分組為列,而不再以每個儲存格重新配置的方式增長每一列的索引,移除了大型工作表上隱藏的 O(儲存格數 × 每列儲存格數) 複製
- 公式相依性圖現在會依 (工作表, 列) 為其參照範圍建立索引,因此植入骯髒儲存格時可對候選區段進行二進位搜尋,而不必對每個變更的儲存格掃描每個公式 — 活頁簿越大、工作表越多,在重新計算時的加速就越顯著
- 列優先、欄排序的儲存格走訪現在以
TXLSXWorksheet.BuildRowMajorCellOrder公開,因此儲存、剪貼簿、自動篩選與其他依列順序的消費者可共用同一個走訪,而不必重新推導
版本 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.dllCreateFontPackageAPI 對內嵌的 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 中繼資料鏈
已變更
- 動態陣列根現在會共用一筆去重的活頁簿中繼資料記錄,而跨活頁簿的工作表或範圍複製會將該記錄重新對應到目標活頁簿
- 當停用不支援的套件部分保留時,受支援的動態陣列中繼資料仍可使用,而無關的值中繼資料則仍會被移除
已修正
- 動態陣列溢出儲存格不再被建模為舊版 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 公式匯出在公式文字已包含等號時,不再新增第二個等號
- XLSX PDF 匯出不再在版面配置前以字元計數估計來截斷儲存格文字
- XML 讀取器名稱雜湊現在會追蹤處理指示、屬性,以及回到其所屬元素的動作,而不會暴露過時的元素狀態
版本 2.185.1
已修正
- 插入或刪除列與欄現在會在保留函式名稱與文字文字的同時,精確地調整本機與跨工作表公式參照一次
版本 2.185.0
已新增
TXLSPDFExport現在提供了以 1 為基準的FirstPage與LastPage輸出選擇、完整的邏輯PageCount,以及六個CalculatePageCount多載(適用於傳統與 XLSX 範圍、工作表與活頁簿),且不必建構 PDF 頁面物件TXLSXWorkbook.SaveWorkbookAsHTML會將可見工作表發佈到一份可瀏覽的 HTML 文件中,並具有穩定的各工作表錨點、逸出的標題與工作表名稱,以及包含隱藏或非常隱藏工作表的選項TDataToXLS.BeforeRecord可在列輸出前跳過記錄,而BeforeValue則可搭配資料集、詳細層級、來源欄位與匯出欄的內容來轉換或隱藏欄位值TXLSWorkbookViewer會公開所選儲存格的註解與超連結,引發由應用程式控制的超連結事件,繪製註解指示器與 XLSX 字型、填滿與對齊,並將合併範圍間的選取與呈現標準化
已變更
- ConversionWorkbench 範例現在可以產生 PDF 輸出,並將所有可見的 XLSX 工作表發佈到 HTML 目標,而 WorkbookViewer 範例則示範了合併儲存格瀏覽、註解與超連結啟用
版本 2.184.0
已新增
- 傳統 XLS 與 XLSX 範圍可透過
CopyToClipboard將 Unicode 表格文字與樣式化的 HTML 複製到 Windows 剪貼簿,並保留公式、合併儲存格、連結、顯示格式,以及安全加上引號的內嵌定位點、換行與引號 TXLSXWorkbook現在會保留可從未知套件根、活頁簿、工作表或繪圖關聯連到的自訂套件部分,包含關聯識別碼衝突處理、內容類型、子關聯、壓縮選擇與確切的承載位元組;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 匯出,現在會將每個可見工作表寫入同一份文件、跳過隱藏與圖表工作表、呈現實心填滿、字型色彩、字型大小、粗體與斜體強調、水平與垂直對齊、明確的儲存格框線與選用的工作表格線,遵循每個工作表的列印範圍、紙張大小、方向、邊界、縮放、調整成適合頁寬設定、欄寬、實際列高、手動的列與欄分頁、重複的標題列與欄,以及具有頁碼、總頁數、工作表名稱、日期與時間欄位的三段式頁首與頁尾,將寬且高的範圍在兩個軸向上分頁、發出與地區設定無關的 PDF 數值語法,並為 WinAnsi 以外的文字內嵌合格的 TrueType 字型與 ToUnicode 對應表
- XLSX 延伸進度回呼現在會針對儲存、開啟與重新計算,收到可靠的開始、工作與結束狀態,而舊版回呼仍僅為工作階段,且每個操作都會重設先前的取消狀態
- 傳統 XLS 序列化現在會傳播工作表、圖表、樣式延伸、VBA、控制項資料流、儲存與輸出提交失敗,而不會回報成功;檔案儲存會在以原子方式取代目的地之前,先暫存完整的複合檔案
- XLSX 與 ODS 檔案儲存現在會建構完整的同層暫存套件,並僅在成功完成後才以原子方式取代目的地,讓現有檔案在取消或失敗後保持不變
版本 2.183.0
已新增
TXLSDirectWriter現在支援可重用的套件層級儲存格樣式控柄與樣式複製,而不必緩衝工作表列;同一個樣式索引可套用到任意數量的儲存格,或跨工作表重用- 直接儲存格樣式提供了 30 種格式化能力,涵蓋字型名稱、大小、BGR 色彩、粗體、斜體、刪除線、外框、陰影、五種底線模式、19 種帶前景/背景色彩的填滿圖樣、五個可獨立上色的邊緣框線(具有 14 種線條樣式與對角線方向)、內建或自訂數值格式、水平與垂直對齊、換行、縮小以符合、縮排、文字旋轉、引號前置詞,以及鎖定/隱藏保護
- 針對字串、數字、布林、日期、公式、錯誤以及每種快取公式結果類型,皆提供了帶樣式的多載,讓高輸出量的匯出器能在循序寫入期間以整數索引選取預先建立的樣式
已變更
- 直接寫入器在建構
styles.xml時,會對相等的字型、填滿、框線與數值格式元件去重,同時保留已寫入工作表資料流的穩定儲存格樣式索引 - 產生的直接寫入器樣式表現在會在自訂填滿之前,先包含標準的
none與gray125預設填滿,以獲得更嚴格的 OOXML 相容性
版本 2.182.0
已新增
TXLSDirectWriter現在會寫入條件式格式,同時保留其與列數無關的記憶體特性,涵蓋八種儲存格值運算子、運算式規則、包含/不包含/開始為/結束為的文字規則、前段或後段值與百分比規則、高於或低於平均規則、重複與唯一值、空白與非空白儲存格、錯誤與非錯誤儲存格、資料橫條、雙色與三色色階,以及全部 17 種基準圖示集系列- 直接條件式格式規則支援明確的優先順序、若為真則停止評估、平均標準差與相等選項、圖示臨界值取代、僅圖示與反向顯示、資料橫條值可見性、BGR 色彩,以及差異填滿、字型色彩、粗體與斜體樣式
已變更
- 直接寫入器會跨工作表對等價的差異樣式去重,並僅儲存條件式格式規則與樣式,因此記憶體使用量隨規則數而非工作表列數擴展
- 自動資料橫條的最小與最大臨界值類型,在基礎 OOXML 元素中會被標準化為標準的
min與max語彙基元,以獲得更廣泛的試算表相容性
版本 2.181.0
已新增
TXLSDirectWriter現在會在不緩衝工作表資料的情況下寫入工作表與活頁簿保護,包含 15 種細微的工作表權限、舊版密碼驗證器、現代雜湊中繼資料、可編輯的保護範圍(具有選用的密碼或安全描述項)、活頁簿結構與視窗鎖定、原始驗證器指派,以及清除保護
已修正
- 不支援的繪圖錨點在為往返輸出重建時,現在會保留每個結束元素,使得僅含圖案的繪圖在開啟與儲存後仍保持格式正確
- XLSX 工作表保護權限現在遵循 OOXML 的鎖定旗標定義,因此允許的動作會寫入
0、禁止的動作會寫入1,而省略的屬性在重新開啟時會回復為其結構描述預設值 - 舊版的 XLSX 工作表、保護範圍與活頁簿密碼現在採用與 Excel 相容的 16 位元驗證器演算法,並帶有 ANSI 轉換與 15 位元組限制
版本 2.180.0
已新增
- XLSX 工作表模型現在會往返 What-If 分析藍本管理員(
<scenarios>)與資料合併(<dataConsolidate>)元素。TXLSXWorksheet上新的ScenariosXml與ConsolidateXml原始 XML 屬性會原樣帶入內部內容 — 寫入器會發出包裝元素,讀取器會將藍本/資料合併子項剖析回來。定義藍本或合併定義的財務建模檔案不再於往返時丟失它們
版本 2.179.0
已新增
- 新的
XlsxBuildNumFmt輔助函式會從語意屬性建構 OOXML 數值格式代碼 —Decimals、Thousands(分隔符號)、NegativeRed(負數為紅色)、CurrencySymbol與Percent。呼叫者不再需要手寫如"$#,##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 等)。對於日文/韓文/中文地區的檔案不可或缺 - 工作表模型在現有凍結模式處理之外,新增了
PaneState屬性,用於<pane>上的窗格狀態屬性 — 支援frozenSplit(先凍結後可捲動)與split狀態
版本 2.177.0
已新增
- 三個先前已註冊但未實作的工作表函式現在有了完整的分派:
DOLLAR(貨幣格式的文字)、FIXED(固定小數位數文字,可選擇抑制逗號)與AREAS(參照中的區域數)。先前這些函式在InitFuncHash中已註冊,但沒有計算引擎的 case — 評估=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三重組合外,還會帶有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函式會執行轉換 — 它會偵測獨立的R/C標記(而非 ROUND 等函式名稱的一部分)、剖析選用的中括號位移,並產生等效的 A1 參照。字串文字與識別碼會被跳過。先前只能編譯 A1 樣式的公式
版本 2.174.0
已新增
TXLSDirectWriter的自動篩選輸出現在在串流 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 檔案時寫入工作表版面配置中繼資料,包含預設的欄與列大小、自訂欄寬、隱藏的列與欄、合併範圍、自動篩選範圍、凍結窗格、工作表索引標籤色彩,以及由右至左的工作表檢視,而不必建構完整的活頁簿物件模型
版本 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一起引發,並有三項增強:(1) 一個TXLSXProgressState參數(ppsBegin/ppsWork/ppsEnd)會框住每個階段,讓 UI 得以知道操作何時開始與結束;(2) 一個Abort: Booleanvar 參數讓回呼能在串流期間取消目前操作 — 讀取/寫入/計算迴圈會檢查Workbook.Aborted並乾淨地中斷;(3) 一個新的xlsxProgressExporting階段,用於匯出操作(HTML/RTF/CSV/ODS)。FireProgress輔助方法集中化了雙回呼分派。FAborted旗標會在每個頂層操作(Open / SaveAs / Recalculate)開始時重設
版本 2.161.0
已新增
- XLSX 圖表模型現在支援四個新的圖表元素,以獲得更強的 Excel 相容性。圖表資料表(
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 引擎中插入或刪除列或欄時,公式參照現在會自動調整。
ShiftSheetGeometry方法 — 由InsertRows/DeleteRows/InsertCols/DeleteCols呼叫 — 現在會走訪每個倖存的公式儲存格,並重寫其 A1 參照以反映結構變更。新的XlsxAdjustFormulaRowColRefs文字掃描器會偵測單一儲存格參照(A1、$B$2)與範圍參照(A1:B3),將其列/欄元件位移過插入點,並將已刪除的參照轉換為#REF!。相對與絕對參照都會位移(符合 Excel 的行為)。先前公式在結構編輯後會被默默地留下,指向錯誤的儲存格
版本 2.159.0
已新增
- 自動篩選排序狀態現在可透過 XLSX 引擎往返。
TXLSXWorksheet新增了SortStateXml屬性,可帶有 OOXML<sortState>元素的原始內部 XML(欄排序方向、區分大小寫、排序方法,以及每個<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。當集合非空時,寫入器會為每個項目發出一個<cellStyle>;讀取器會將它們剖析回來。先前寫入器會硬式編碼單一"Normal"項目,而讀取器會捨棄所有具名樣式,因此具有 "Good"/"Bad"/"Total"/自訂具名樣式的檔案會在往返時丟失這些名稱
版本 2.157.0
已新增
- XLSX 引擎現在會往返完整的
<calcPr>元素,而不僅是反覆運算切換。TXLSXWorkbook新增了CalcId(Excel 用來決定快取值是否過時的計算引擎識別碼)、FullCalcOnLoad(強制 Excel 在開啟時進行完整重新計算 — 對非 Excel 引擎產生的活頁簿至關重要)與CalcMode(auto / manual / autoNoTable)。寫入器會在<calcPr>上發出相符的屬性;讀取器會將它們剖析回來。先前僅處理iterate/iterateCount/iterateDelta,其餘皆被默默地丟棄
版本 2.156.0
已新增
- 公式評估器現在實作了 37 個先前已註冊(在 InitFuncHash 中指派 ptg)但沒有分派實作的工作表函式 — 它們會落到
#NAME?。新的實作跨越五個函式家族:迴歸(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)。迴歸函式使用最小平方求解器;折舊函式實作了直線、年數合計與餘額遞減法;敘述統計函式計算平均絕對離差、峰度、偏態、幾何/調合/修剪平均數;而成對函式計算兩個等大範圍之間差值的平方和。TXLSCalculator上新的CollectRangeValues輔助器會為統計函式從範圍引數中萃取數值
版本 2.155.0
已新增
- 公式評估器現在支援五個額外的統計與工程相容性名稱:
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 或自訂計算器主機)都能提供外部值 - 公式評估器現在會對二元運算子(
+/-/*///^)執行逐元素陣列廣播。當任一運算元為一維或二維變體陣列(例如矩陣函式結果、溢出範圍或 CSE 陣列運算元)時,運算子會逐元素套用;純量運算元會被廣播到陣列運算元的每個元素。新的ApplyArrayBinaryOp輔助器會處理形狀驗證、純量廣播與除以零傳播。舊版純量算術維持不變 — 陣列路徑僅在至少一個運算元為變體陣列時啟動 - 公式評估器現在會辨識
TABLE函式(What-If 分析資料表)。Excel 會將資料表儲存為主體為TABLE(rowRef, colRef)的 CSE 陣列公式;先前TABLE無法辨識並會落到#NAME?。該函式以合成的 ptg(ftabTABLE = 4232)註冊,使其能透過 BIFF8 公式編碼往返,並在評估時期傳回預留位置值(0)— 真正的結果由 Excel 預先計算並儲存為快取儲存格值,因此 HotXLS 不會重新評估替換邏輯
版本 2.153.0
已新增
- 樞紐分析表具類型模型現在會帶有頁面軸的具類型屬性(Hier / Caption / Name)、自動排序範圍,以及
<formats>與<extLst>的原始 XML 往返掛鉤,以獲得更完整的 Excel 相容性。TXLSPivotField新增了PageHier/PageCaption/PageName(F16 — OLAP 階層名稱 + 頁面軸標題 + 顯示名稱)與AutoSortScope(F20 — 固定 Excel 用來自動排序欄位項目的儲存格的 A1 範圍參照);TXLSPivotTable新增了FormatsXml/ExtLstXml(F17 —<formats>條件式格式/數值格式覆寫區塊與<extLst>交叉分析篩選器/時間軸/x14 區塊的原始內部 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>發出一列工作表,為每個<td>/<th>發出一個儲存格。它會遵守colspan/rowspan(Excel 樣式的合併)、剝除儲存格內的標籤(將巢狀格式摺疊為純文字)、解碼五個標準字元實體(&/</>/"/'/ )與數值的&#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新增了DiscreteIndices[]+AddDiscreteIndex與GroupItemLabels[]+AddGroupItem,用於 fieldGroup 的 discretePr + groupItems 區塊(F13)。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 引擎新增了方便的大綱摺疊輔助器
ToggleColGrouped/ToggleRowGrouped(位於TXLSXWorksheet上),它們會走訪大綱樹並摺疊或展開給定層級的群組。摺疊旗標本身原本就會往返;這新增了欠缺的走訪樹狀結構便利 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 = 所有快取值都與引擎的全新計算相符;揮發性公式會被排除)。在於引擎間移植活頁簿或驗證寫入器未損毀快取值的品質保證作業中很有用
版本 2.146.0
已新增
- XLSX 引擎現在支援反覆的循環參照計算(Excel 的反覆計算模式)。
TXLSXWorkbook上新的Iterate/IterateCount/IterateDelta屬性三重組合控制了該行為:當Iterate=True且在Recalculate期間偵測到參照循環時,引擎會將循環成員儲存格重新評估最多IterateCount次(預設為 100),或直到每個儲存格的變更< IterateDelta(預設為 0.001),而不會傳回#REF!。這些設定會透過 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(或七個 Excel 錯誤常數中的任一個)的儲存格先前會在讀取時導致整個公式被丟棄;錯誤位元組現在能透過讀取 → 評估 → 寫入往返,並透過新的XlsErrorToString輔助器重建為其文字形式(#NULL!、#DIV/0!、#VALUE!、#REF!、#NAME?、#NUM!、#N/A) - BIFF8 的
tIsect $0F語彙基元(隱含交集運算子)現在可在二進位公式轉譯器中解碼,建構出與文字剖析器為@所產生的相同SA_ISECT節點。先前包含tIsect的二進位公式會剖析失敗 - 資料橫條條件式格式現在會在模型帶有任何非預設的 x14 欄位(負值填滿色彩、漸層關閉、座標軸色彩、方向、框線)時,在工作表的
extLst中發出 Excel 2010+ 的x14延伸區塊。新的BuildDataBarExtXml會建構<x14:conditionalFormattings>的ext元素,帶有相符的優先順序、cfvo 配對、填滿 + 負值 + 座標軸色彩,以及漸層/框線/方向/負值橫條色彩與正值相同等屬性
版本 2.144.0
已新增
- XLSX 引擎現在可以寫入 Agile 加密的活頁簿(
TXLSXWorkbook.SaveAsEncryptedAgile),彌補了一個高價值的讀寫相容性差距。Agile 是 Excel 2010+ 對受密碼保護的 .xlsx 檔案預設寫入的格式;HotXLS 先前能讀取 Agile,但僅能寫入標準加密(AES-128)。新的寫入管線仿照既有的解密路徑:以 100000 次反覆運算旋轉計數進行 SHA-512 密碼雜湊、AES-256-CBC 的每段套件加密、隨機產生的中繼金鑰依三個規格固定的區塊金鑰包裝,以及一份完整的<encryption>描述元 XML(帶有加密的驗證器 + 金鑰 blob)。輸出與 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 為受密碼保護/範本文件所寫入的三個欄位: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新增了ShowDataAs/BaseField/BaseItem,用於「顯示值為」轉換(百分比/差異/累計/索引)。XLSX 寫入器(BuildPivotCacheDefinitionXml/BuildPivotTableXml)會遵守上述全部,因此以程式方式建立的樞紐(AddPivotTable)會發出更豐富的pivotCacheDefinition+pivotTableDefinition— refreshOnLoad / 版本三重組合 / refreshedBy / 具名範圍來源 / 計算 cacheField 公式 / sharedItems 邊界 / dataField 小計 + showDataAs。從檔案讀取的樞紐分析表會繼續原樣往返其原始 XML - 圖片錨點行為現在可透過
TXLSXImage上新的AnchorType屬性往返(xaTwoCell= 隨儲存格移動並調整大小、xaOneCell= 移動但不調整大小、xaAbsolute= 不移動也不調整大小)。寫入器會挑選相符的錨點元素(xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor);讀取器會將元素名稱 +editAs屬性剖析回來。對應到 Excel 的右鍵 → 大小與內容 → 內容對話方塊 - 頁首/頁尾現在會往返偶數/首頁的差異。
TXLSXWorksheet新增了EvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterText以及四個<headerFooter>切換(DifferentOddEven、DifferentFirst、ScaleWithDoc、AlignWithMargins)。使用者啟用了「奇偶頁不同」或「首頁不同」的檔案,不再於往返時丟失偶數/首頁區段 - 版面設定現在會往返 Excel 為非預設列印設定所寫入的延伸
<pageSetup>屬性:Copies、FirstPageNumber+UseFirstPageNumber、HorizontalDpi、VerticalDpi、PrintErrors(顯示/空白/破折號/NA)、UsePrinterDefaults <sheetFormatPr>現在會往返customHeight、zeroHeight、outlineLevelRow與outlineLevelCol,因此使用者設定了使用者固定的預設列高、隱藏預設列,或預設大綱層級的檔案,不再丟失該行為- 資料橫條條件式格式會往返標準的
gradient屬性(漸層與實心填滿),且TXLSDataBarSpec在模型上新增了 Excel 2010+ 的x14延伸欄位(NegativeBarColor、NegativeBarColorSameAsPositive、GradientFill、AxisColor含佈景主題/色調、Direction、Border),讓 API 消費者能加以設定 - 註解方框會原樣往返其 VML 繪圖。讀取器會原樣擷取
xl/drawings/vmlDrawingN.vml,而寫入器會在儲存時重新播放它(而非內建的黃色方框範本),因此每個方框使用者設定的位置/大小/填滿色彩/可見性都能存活 - 註解內文會往返各執行的格式。
TXLSXComment新增了延遲載入的RichText: TXLSXRichText承載(重用共用字串的執行模型);當 RichText 帶有格式時,寫入器會為每個執行發出一個<r><rPr>...</rPr><t>...</t></r>,而讀取器會將<b/>、<i/>、<sz val=N/>、<color rgb=.../>剖析回來,讓粗體/斜體/大小/色彩得以存活 - 公式評估器現在實作了
SUBTOTAL(全部十一種彙總器:AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP,加上 101 至 111 的忽略隱藏變體)與AGGREGATE(十九種彙總器,具有選擇錯誤/隱藏跳過的選項代碼 0 至 7 旗標,包含 LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE 家族及其k引數)。先前兩者都會落到不支援函式的路徑;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屬性,以及完整的十個成員timePeriod家族(yesterday / today / tomorrow / last7Days / lastWeek / thisWeek / nextWeek / lastMonth / thisMonth / nextMonth)。這些先前在讀取時會被默默地丟棄;Excel 會在上述平均與日期帶規則上例行寫入它們,而丟棄它們會改變規則在重新開啟時重新評估的方式 - CSV 匯出在
TXLSCSVSaver上新增了TXLSCsvEncoding屬性,具有三種模式:ceSystemAnsi(舊版預設)、ceUtf16(歷史的 Unicode 模式)與ceUtf8(會寫入帶有 EF BB BF 位元組順序標記的 UTF-8 檔案 — 現代且對 Excel 友善的預設值,可在任何地區設定下重新開啟而不出現文字匯入精靈) - CSV 匯入在
TXLSCSVLoader上新增了LocaleTolerantNumbers屬性。啟用時,以.作為小數分隔符號剖析失敗的數值欄位,會以,重試(反之亦然),因此歐洲的3,14在美國機器上會匯入為數字 3.14。嚴格模式(預設)維持不變,因此前導零文字、郵遞區號與其他帶有逗號的語彙基元仍保持為文字
已修正
- XLSX 引擎的嚴格模式數值推斷,不再透過 Delphi 的
TryStrToFloat將帶有逗號的文字欄位(例如3,14)強制轉換為數字,因為即使ThousandSeparator設定為#0,該函式仍容許將逗號作為千位分隔符號。此類欄位現在會保持為文字,除非啟用了新的LocaleTolerantNumbers選項
版本 2.140.0
已變更
- XLSX 引擎現在會在每次儲存之前,精簡其六個各屬性的樣式集區(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
已新增
- 圖表座標軸現在可完全程式化:每個圖表的
CategoryAxis與ValueAxis上新的TXLSXChartAxis模型公開了LogBase(對數刻度,例如 10 表示以 10 為底的對數)、Orientation(normal / reversed)、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
已新增
- 圖表誤差線現在可程式化並在 XLSX 引擎上往返:每個
TXLSXChartSeries新增了AddErrorBar(dir),傳回具有ValueType(fixed / percentage / stdDev / stdErr / custom)、Value、PlusValue/MinusValue(自訂)與NoEndCap的TXLSXChartErrBar;每個方向(X / Y)儲存一個誤差線位置,寫入器會發出相符的<c:errBars>區塊,而重新開啟會還原方向、類型與量值,讓科學/工程圖表保留其不確定性指標
版本 2.134.0
已新增
- 圖表資料標籤現在可程式化並在 XLSX 引擎上往返:每個
TXLSXChartSeries新增了ShowValue、ShowCategoryName、ShowSeriesName、ShowLegendKey、ShowPercent、ShowBubbleSize與Separator屬性,會發出相符的<c:dLbls>區塊及其<c:show*/>子項;重新開啟此類圖表會還原這些切換,讓「顯示值」/「顯示百分比」設定能在儲存-編輯-儲存的循環中存活
版本 2.133.0
已新增
- 向量圖片格式 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 標頭 — 因此從 Word 或 PowerPoint 貼上且 Excel 以向量資料內嵌的圖片現在能往返,而不會被丟棄
已修正
- GELFRAME 記錄(
$1066)跨越 8224 位元組連續邊界的 BIFF8 圖表子資料流,不再丟失填滿/線條幾何:讀取器現在會接受 GELFRAME 的自我連續(Excel 會寫入另一個$1066而非標準的$003CCONTINUE),也允許標準的 CONTINUE 記錄在圖表內容中縫合,符合寫入器既有的多區塊分派 - 承載跨越連續記錄的 BIFF8 頁首/頁尾背景圖片(
$0866)不再損毀:每個連續區段會重複一個 14 位元組的 MSO 標頭,而讀取器現在會在串接之前將其剝除,因此內嵌的圖片資料不再每區段偏移 14 位元組
版本 2.132.19
已修正
- 舊版 XLS 與加密 XLSX 的儲存清理現在會以確定性方式釋放複合檔案資料流,防止暫存檔在儲存、載入、VBA 或加密套件操作後保持鎖定
- 延伸整數變體值的格式化顯示現在會一致地套用要求的數值格式,與標準整數值既有的行為相符
- 共用字串、資料驗證、圖表工作表、ZIP 封存、PNG 繪圖與重複文字公式現在會在錯誤路徑與大型文字操作期間,更謹慎地清除暫存緩衝區
版本 2.132.18
已修正
- 內部字串建構器的值指派現在會在被指派空字串時清除先前的文字,防止重用的 XML 與文字緩衝區保留過時的內容
版本 2.132.17
已修正
- XLS 圖表工作表建立現在會接受包含驚嘆號且加上引號的來源工作表名稱,會在過大的列參照捲入為有效的 BIFF 列之前加以拒絕,並將趨勢線圖例名稱限制在 BIFF 短文字限制之內,讓產生的圖表記錄保持格式正確
版本 2.132.16
已修正
- 內部的字串索引鍵與物件索引鍵清單現在會在覆寫現有位置時移除過時的查詢索引鍵,防止舊索引鍵解析到取代項目
- 內部的物件清單取代與轉換後的唯一索引鍵快取現在會在覆寫、清除與銷毀時釋放擁有的項目,防止在重複的活頁簿與樣式操作期間發生洩漏
版本 2.132.15
已修正
- 直接的 XLSX 串流讀取現在會解碼儲存 OOXML 文字值(如 true 與 false)的布林儲存格
- 內部的字串清單索引更新現在會在覆寫現有位置時移除過時的索引鍵,防止舊名稱解析到新值
版本 2.132.14
已修正
- 第一個字元為 NUL 的 BIFF8 資料驗證提示與錯誤訊息,現在會保留記錄邊界,而不會寫入不相符的 DV 長度
版本 2.132.13
已修正
- XML 文字剖析現在會拒絕如 && 的巢狀實體開頭,而不會默默地丟棄未完成的實體
- 反編譯的公式現在會以不變的點小數分隔符號寫入數值常數,讓公式文字能跨地區設定保持可攜
版本 2.132.12
已修正
- 調色盤 PNG 透明度現在會忽略不存在於圖片調色盤中的透明色彩,而不會將任意的調色盤索引標示為透明
- SUMPRODUCT 公式現在會在長範圍引數中遇到第一個使用範圍外的列時,停止掃描剩餘的列,避免不必要的儲存格讀取,同時保留計算結果
版本 2.132.11
已修正
- TEXT 公式現在會在無法套用無效或過大的數值格式時傳回 #VALUE!,而不會被吞沒為空白的成功結果
- 共用字串表截斷現在會釋放正確的尾端區塊,並讓表格在大型刪除循環後保持可重用
版本 2.132.10
已修正
- MATCH 精確查閱現在會遵守 Excel 萬用字元,而傳統 XLS 的列位移中繼資料現在會忽略區塊外的列,而不會損毀儲存的活頁簿結構
- PNG 壓縮文字中繼資料現在會在區塊處理引發時安全地釋放暫存緩衝區
版本 2.132.9
已修正
- PNG 壓縮文字中繼資料、區塊清單插入與 CRC 位元組順序處理,現在能在受支援的 Windows 平台間保持穩定
版本 2.132.8
已修正
- LEFT 與 RIGHT 公式現在會在 num_chars 無法轉換為有效整數時回報 #VALUE!
版本 2.132.7
已修正
- SEARCH 公式現在支援 Excel 樣式的 ?、* 與 ~ 萬用字元
- 工作表名稱驗證現在會在重新命名工作表時,拒絕無效的 Excel 工作表名稱字元
- 手動分頁刪除現在可在現有分頁之前插入分頁後運作
版本 2.132.6
已修正
- DATE 公式現在符合與 Excel 相容的月與日滾動行為,包含如 DATE(2008,14,2) 的呼叫
- 欄範圍的 Hidden 讀取現在會回報每個欄的可見性,而不會混入列的可見性狀態
- 位於 Excel 97-2003 列限制的 BIFF 列中繼資料現在會正確載入,讓第 65536 列的設定得以保留
版本 2.132.5
已修正
- BIFF 活頁簿載入現在能容忍格式錯誤的工作表索引標籤色彩、截斷的樞紐標籤與無效的樞紐快取日期片段,而不會引發例外
- 活頁簿套件與資料流載入現在會更一致地清除失敗的封存與儲存設定路徑,避免在格式錯誤的輸入或失敗的資料流儲存開啟時洩漏資源
版本 2.132.4
已修正
- ZIP 封存處理現在會在為另一個套件重用同一個封存物件之前完成目前的套件,而檔案式封存開啟現在允許並行的共用讀取器
版本 2.132.3
已修正
- 活頁簿套件寫入現在會以 UTF-8 中繼資料保留非 ASCII 的 ZIP 項目名稱,防止套件部分名稱包含 Unicode 文字時出現亂碼
- XML 輸出現在會在停用逸出時,以 UTF-8 位元組寫入原始文字與屬性值,與宣告的文件編碼相符
- 公式評估現在會在回呼例外之後清除其進行中狀態,並正確處理 Unicode Delphi 組建上的大數取消
- 陣列公式的矩陣萃取現在會遵守非零的 Variant 陣列下限,而不會為有效的一維陣列引發例外
版本 2.132.2
已變更
- 範圍排序現在會對大型已排序範圍使用穩定的 O(n log n) 排序處理,同時保留現有的列內容往返行為
- ODS 與 XLSX 的數值剖析與格式化現在會重用不變的格式化狀態,而不會在熱路徑中重複建立它
已修正
- XML 剖析現在會接受有效的 CDATA 區塊與 UTF-8 處理指示,而不會損毀文字或在有效的標記上失敗
- 公式剖析現在會接受帶正負號的科學標記法,並乾淨地拒絕格式錯誤或截斷的公式位元組
- 傳統活頁簿開啟與儲存路徑現在會在錯誤後可靠地釋放資料流與儲存,防止暫存檔保持鎖定
- 二進位緩衝區處理現在會驗證複製與讀取邊界、在複製之前增長目的地緩衝區,並乾淨地拒絕格式錯誤的 VBA 壓縮反向參照
版本 2.132.1
已修正
- 修正了當加密活頁簿使用不支援的加密配置時所引發的錯誤訊息:先前它宣稱無法讀取 ECMA-376 Agile 加密,但自 2.119.0 起就已支援 Agile 解密(AES-128/192/256)。訊息現在會列出實際支援的配置
- Open 現在會在拒絕加密的 OOXML 套件時,將呼叫者指向 TXLSXWorkbook.OpenEncrypted,而不會指出不支援加密活頁簿
版本 2.132.0
已變更
- XLSX 載入大幅加速:XML 讀取器現在會實體化重複的元素名稱,並直接從其掃描緩衝區轉換文字與屬性值,將每個儲存格的記憶體配置削減一半以上。多執行緒開啟(2.128.0)受益最大 — 被移除的配置正是序列化工作執行緒的那些 — 多工作表活頁簿在多核心機器上現在開啟速度接近單執行緒路徑的兩倍;單執行緒開啟也獲得了幾個百分點
版本 2.131.0
已新增
- HotXLS 未建模的工作表延伸區塊 — 工作表
<extLst>中 sparklines 以外的<ext>項目,如 Excel 為 x14 條件式格式或交叉分析篩選器等功能所寫入 — 現在會在活頁簿開啟時原樣保留,並在儲存時寫回,因此開啟並重新儲存檔案不再剝除那些延伸。擷取的區塊可透過Worksheet.RawWorksheetExts以唯讀方式檢視,並在工作表被複製到另一個活頁簿時隨之移動
版本 2.130.0
已新增
- 包含公式的已儲存活頁簿現在會帶有
xl/calcChain.xml計算鏈結部分,讓 Excel 能從記錄的順序植入其相依性引擎,而不必在載入時重建它。在Recalculate呼叫後,鏈結會遵循相依性圖的拓撲順序;否則公式儲存格會以文件順序列出(Excel 會即時精煉的有效提示)。該部分、其內容類型與其活頁簿關聯會一起發出,並在開啟/儲存往返中存活
版本 2.129.0
已新增
- 新的
Workbook.ParallelParseThreads屬性可調整 2.128.0 所引入之多執行緒 Open 路徑的工作執行緒數(0 = 自動,每個 CPU 核心一個工作執行緒)。工作表剖析會大量配置記憶體,而記憶體配置會跨執行緒序列化,因此在某些工作負載上,明確的小上限表現得與完整核心數一樣好甚至更好;該屬性讓整合者能挑選對其檔案測量起來最佳的設定
版本 2.128.0
已新增
- 多執行緒 XLSX 載入:開啟活頁簿現在會在工作執行緒上剖析每個工作表的 XML — 大型檔案上的主要成本 — 讓多工作表活頁簿在多核心機器上開啟得更快。工作表部分會預先從套件中萃取,而每個工作執行緒只會觸碰它自己的工作表,因此載入的活頁簿與序列結果完全相同
- 新的
Workbook.ParallelParse屬性(預設為True)在Open之前設為False時會切換回單執行緒剖析 — 為受限環境提供了一行的退出選項
已變更
OnProgress讀取回呼仍會在呼叫執行緒上每個工作表引發一次,現在是在每個工作表被分派進行剖析時引發,而非嚴格地在工作表之間
版本 2.127.0
已新增
- XLSX 引擎上的增量重新計算:新的
Workbook.Recalculate方法會建構公式相依性圖、以相依性順序評估每個公式儲存格一次,並將每個結果儲存在儲存格的快取值中。後續的呼叫只會重新評估自上次處理以來受值變更影響的儲存格 — 在鏈式模型(財務工作表、報表串聯)上,編輯一個輸入只會重新計算其下游公式,而非整個活頁簿 - 揮發性函式(
NOW、TODAY、RAND、OFFSET、INDIRECT)會在每次處理時重新計算,參照無法以靜態方式解析的公式(多區域名稱、外部活頁簿)也是如此 — 引擎會過度計算,而不願冒著產生過時結果的風險 - 現在會偵測參照循環而非陷入迴圈:當公式形成循環鏈時,
Recalculate會傳回錯誤代碼、跳過循環成員,並仍評估循環以外的每個公式。跨工作表參照、具名範圍與 CSE 陣列公式(結果溢出到錨定範圍)會完全參與相依性圖
已變更
- 既有的隨需
Calculate路徑維持不變;Recalculate是獨立的選用 API,而從未呼叫它的活頁簿行為與之前完全相同
版本 2.126.0
已新增
- XLSX 引擎上的走勢圖:工作表現在會帶有走勢線群組 — Excel 從資料範圍呈現的儲存格內迷你圖表 — 具有三種 Excel 類型(折線、直條、輸贏堆疊)。使用
Worksheet.AddSparklineGroup建立一個,或透過新的Worksheet.SparklineGroups集合手動建立群組,每個群組可加入任意數量的走勢線,各帶有一個來源範圍與一個顯示儲存格 - 走勢線群組公開了 Excel 提供的完整選項集:線條粗細、資料點標記、高/低/負數/第一/最後點強調切換、八個 ARGB 色彩位置(數列、負數、座標軸、標記、第一、最後、高、低)、各群組或各走勢線的垂直座標軸縮放,以及空來源儲存格的間距/零值/跨距處理
- 走勢線能在完整的儲存→開啟往返中存活:儲存會發出工作表的
extLst延伸區塊([MS-XLSX] §2.3.6),讓 Excel 2010 與更新版本呈現走勢線,而開啟此類活頁簿 — 無論是由 HotXLS 或 Excel 所寫入 — 會重建每個群組、選項與範圍,讓它們在編輯循環中持續存在。將工作表複製到另一個活頁簿也會複製其走勢線群組
版本 2.125.0
已新增
- 七個 DBCS 位元組計數文字函式現在可在兩個引擎上評估:
LEFTB、RIGHTB、MIDB、LENB、FINDB、SEARCHB與REPLACEB。每個都會在系統 ANSI 字碼頁下將其輸入視為位元組字串,讓 CJK(中文/日文/韓文)字元佔用 2 個位元組,而 ASCII 佔用 1 個;會分割 DBCS 前導/後隨位元組對的操作會回到最近的字元邊界,符合 Excel 的行為
版本 2.124.0
已新增
- 五個假設檢定與分配函式現在可在兩個引擎上評估:
Z.TEST(在虛無假設下,樣本平均數至少為x的單尾右尾機率)、T.TEST(成對雙樣本 t 檢定 p 值;未成對的等/不等變異數類型則延後)、CHISQ.TEST(透過上尾卡方 CDF 的適配度 p 值)、HYPGEOM.DIST(具有累積旗標的超幾何 PMF/CDF)與NEGBINOM.DIST(負二項式 PMF/CDF)。p 值數學透過自足的巢狀常式重用引擎既有的常態/Student-t/卡方 CDF 輔助器,因此沒有任何現有的 Calc 方法變更
版本 2.123.0
已新增
- 相容性差距審查中的十四個公式函式現在可在兩個引擎上評估:
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(透過其交替級數的高斯誤差函式)、ACCRINT(應計利息)與ISPMT(定額本金攤銷的期別利息)
版本 2.122.0
已新增
- 執行緒註解(Excel 365)現在可在 XLSX 引擎上往返:工作表上的
AddThreadedComment與AddThreadedReply會建構一個錨定於儲存格的父→子回覆樹、在新的活頁簿層級Persons清單上自動註冊每個作者,並為每個工作表發出專用的xl/threadedComments/threadedCommentN.xml部分加上活頁簿範圍的xl/person/person.xml;重新開啟此類套件會從那些部分重建對話樹與參與者清單,讓回覆鏈結、識別碼與顯示名稱能在完整的讀取→寫入循環中存活
版本 2.121.0
已新增
- 公式評估器現在會計算 Excel 365 的動態陣列函式
XMATCH、SORT、UNIQUE與SEQUENCE,加入已支援的XLOOKUP與FILTER;結果會作為二維陣列溢出,因此SEQUENCE(3;2;1;1)會傳回 3×2 格線、SORT會依任意索引鍵欄遞增或遞減重排列、UNIQUE會摺疊重複列並保留首次出現者,而XMATCH會以與XLOOKUP相同的精確/萬用字元/次小/次大比對模式,回報查閱值的以 1 為基準位置
版本 2.120.0
已新增
- 兩個引擎工作表上新的
PasteFromClipboard方法會從 Windows 剪貼簿讀取定位點分隔文字 — 即範圍被複製時 Excel 放置在那裡的承載,或來自任何其他應用程式的純選取範圍 — 並從給定的列與欄開始寫入儲存格,具有與 CSV 載入器相同的數字/日期/布林型別提升;前導的=文字會成為即時公式,符合 Excel 自身貼上的方式
版本 2.119.0
已新增
- 讀取 ECMA-376 Agile 加密 — Excel 2010 與更新版本預設套用的密碼保護:
OpenEncrypted現在會剖析 XML 加密描述元、以 SHA-512 旋轉計數雜湊衍生金鑰、驗證密碼,並解密 AES-CBC 分段套件(AES-128/192/256),讓直接在 Excel 中受密碼保護的活頁簿能在未安裝 Excel 的情況下開啟 OpenEncrypted透過單一進入點處理全部三種情況:純未加密的.xlsx、標準加密(我們的SaveAsEncrypted往返)與 Agile 加密;在每個配置中,錯誤的密碼都會引發同樣清楚的錯誤
已修正
- 儲存工作表 XML 超過約 116 KB 的
.xlsx活頁簿 — 約 3,000 列的一般字串資料 — 先前會因堆疊溢位而當機;ZIP 寫入器的 CRC-32 总和檢查碼現在會以 64 KB 的切片處理資料,讓壓縮後端避開其在堆疊上配置過大暫存緩衝區的大型輸入程式碼路徑。总和檢查碼結果維持不變
已變更
- 共用字串去重現在會透過雜湊表執行,而非掃描字串清單,而
sharedStrings.xml部分會透過預先增長的字串建構器組裝,而非重複串接 — 加上常數時間的儲存格索引,這讓儲存 120,000 個字串儲存格從數十秒縮短到大約三分之一秒
版本 2.117.0
已變更
- XLSX 儲存格存取現在是常數時間:工作表儲存格集合會帶有 (列, 欄) 的雜湊索引,取代先前的線性掃描 — 因此填入、回讀或載入大型工作表會隨儲存格數線性擴展,而非二次方;填入 100,000 個儲存格現在只需遠低於一秒,而先前需要數分鐘
- 加速適用於整個引擎:
Cells[r, c]、HasCell、活頁簿載入、儲存、跨活頁簿複製、自動調整,以及每個依位置觸碰儲存格的輔助器都受益;列與欄的插入或刪除會在單一處理中重建索引
版本 2.116.0
已新增
- 傳統 XLS 引擎中的 PDF 匯出:工作表與活頁簿上新的
SaveAsPDF方法會將使用範圍(或透過TXLSPDFExport由呼叫者提供的範圍)呈現為分頁格線 — 透過數值格式的儲存格顯示文字、格線、從 Excel 寬度衍生並縮放以符合頁面的欄寬,以及的量的多頁分頁 - 輸出是一份自足的 PDF 1.4 檔案,沒有外部相依,使用內建的 Helvetica 字型與 WinAnsi 文字編碼;直向或橫向的 A4 方向、頁面邊界與字型大小可在匯出器上設定
- 這是與 HTML 與 RTF 並列的資料呈現匯出:它為報表與文件交付重現表格內容與版面配置,而非完整的各儲存格樣式設定
版本 2.115.0
已新增
- XLSX 引擎中從資料範圍的一鍵圖表建立:新的
AddChartFromRange會建構完整的圖表,並從矩形資料區塊自動衍生其數列 — 相當於 Excel 的「從選取範圍插入圖表」— 具有欄中數列或轉置的列中數列版面配置 - 具名捷徑
AddColumnChart、AddBarChart、AddLineChart、AddPieChart與AddAreaChart會在同一個一鍵流程中依名稱挑選圖表類型,從標題列讀取數列名稱,從第一欄讀取類別標籤 - 數列參照會以來源工作表加上引號的名稱來限定,因此產生的圖表放在任何工作表上都能持續運作,並能在儲存與重新載入後存活
版本 2.114.0
已新增
- 傳統 XLS 引擎中的 RTF 匯入,為既有
SaveAsRTF匯出的逆運算:工作表與活頁簿上新的OpenRTF方法會將 RTF 文件的表格讀入工作表儲存格 —\cell前進欄、\row前進列 — 從 A1 開始 - 從
SaveAsRTF、Word 或 WordPad 產生的檔案復原表格資料:數值文字會儲存為數字讓公式持續運作、十六進位(\'hh)與 Unicode(\uN)逸出會正確解碼,而標題群組(字型表、色彩表、樣式表、資訊)會被跳過 - 沒有表格的文件會退回為段落模式,將每個
\par匯入為 A 欄的下一列
版本 2.113.0
已新增
- 讀取加密的
.xlsx活頁簿:OpenEncrypted現在會解密 ECMA-376 標準加密(AES-128)套件,與既有的SaveAsEncrypted完成往返 — 它會讀取複合檔案容器、從密碼衍生金鑰、驗證它,並載入復原的活頁簿 - 錯誤的密碼會引發清楚的「密碼不正確」錯誤,而對純未加密
.xlsx呼叫OpenEncrypted會繼續直接載入它,因此呼叫者可透過單一進入點繞送每個檔案
已變更
- 不支援加密的訊息現在會具體指出 ECMA-376 Agile 加密為剩餘的不支援配置,因為標準加密的讀取與寫入兩者皆已可用
版本 2.112.0
已新增
- XLSX 儲存格上新的
TaggedText屬性會在豐富文字與輕量標記之間轉換:<b>、<i>、<u>、<s>、<sub>、<sup>、<color=#RRGGBB>、<font=Name>與<size=N>,並具有</>/&逸出 — 因此多格式儲存格內容可從範本字串產生,而不必手動組裝執行物件 - 寫入標記會建構執行清單,並將
Value保留為串接的純文字;沒有標籤的標記會儲存為不帶豐富承載的純字串;讀取會將每個執行的屬性序列化為完整的標籤集;未知的標籤會作為文字文字透過
已修正
- 完全由空白組成的豐富文字執行(例如字詞之間的單一樣式化空格)現在能在儲存與重新載入中存活;先前該空格會在檔案重新開啟時被丟棄
版本 2.111.0
已新增
- XLSX 活頁簿上新的
OnProgress事件會回報載入與儲存進度:它會在Open期間剖析時或SaveAs期間發出時,每個工作表引發一次,帶有階段(讀取或寫入)、目前的以 1 為基準工作表編號與總數 — 讓應用程式能以微不足道的回呼成本,在漫長的多工作表操作上驅動進度列
版本 2.110.0
已新增
- 用於
.xlsx/.xlsm檔案的新TXLSRowCursor資料集式列游標:Open、SelectSheet,然後FindFirst/FindNext會一次一列走訪工作表,記憶體中只保留目前列的儲存格 — 一個拉式驅動的替代方案,用於循序處理數百萬列工作表,相對於TXLSDirectReader的回呼 - 每列會公開其以 1 為基準的工作表列號、文件順序中已填入的儲存格(具類型值、公式文字、樣式索引),以及一個
ValueByCol查詢(對該列未填入的欄會傳回Null);沒有已填入儲存格的列會被跳過 - 工作表名稱與數量可在
Open之後取得(檔案與資料流多載),而共用字串與日期格式偵測的處理方式與串流讀取器相同
版本 2.109.0
已新增
- XLSX 引擎的新
TXLSXCellFormat「格式刷子」:描述一次字型、填滿、框線、對齊、數值格式與保護,然後以Apply(單一儲存格)、ApplyRange、ApplyRows、ApplyCols或ApplySheet蓋章到任意數量的目標 - 只會套用實際觸碰的方面 — 一個只設定
Font.Bold的刷子會讓目標的填滿、框線與數值格式保持不變 — 因此刷子能與既有的格式設定組合,就像 Excel 的複製格式 - 每次套用會將觸碰的方面解析到活頁簿樣式集區一次,然後每個儲存格只寫入集區索引,因此格式化大型範圍的成本是每方面一次集區查詢,而非每個儲存格;
ApplyRange會具體化遺失的儲存格,而列/欄/工作表形式只蓋章現有的儲存格
版本 2.108.0
已新增
- 可當地語系化的布林顯示文字:新的
XLSBooleanTrueText/XLSBooleanFalseText變數控制布林儲存格值在產生顯示文字之處的呈現方式 —FormattedText、HTML 匯出與自動調整測量 — 讓當地語系化的應用程式能顯示例如 WAHR/FALSCH 或 VRAI/FAUX
已變更
- 布林儲存格現在預設顯示為
TRUE/FALSE,與 Excel 的格線相符,而非執行時期的True/False大小寫
版本 2.107.0
已新增
- 傳統 XLS 活頁簿上新的
OnPassword事件:當Open遇到加密活頁簿且提供的密碼缺失或錯誤時,該事件會向應用程式詢問密碼並重試開啟(最多三次嘗試)— 讓互動工具能提示使用者,而不必預先載入密碼或檢查錯誤代碼 - 該事件以傳址方式接收目前的密碼與一個
Retry旗標;將Retry保持為False會放棄並傳回原始的密碼錯誤
版本 2.106.0
已新增
- 新的
TXLSFileMonitor類別會監視磁碟上的活頁簿檔案,並在另一個處理序 — 通常是 Excel — 覆寫儲存它時引發OnFileChanged,讓應用程式能自動重新載入並重新整理其檢視 - 基於輪詢(上次寫入時間加上大小,
IntervalMs可設定,預設為 1 秒),因此在本地磁碟與網路共用上都能運作,而不需要訊息迴圈;SynchronizeEvent會在 UI 處理常式的主執行緒傳遞(預設)與主控台或服務程式碼的直接監看執行緒傳遞之間選擇 - 在儲存循環期間短暫消失的檔案不會引發錯誤事件;變更會在新內容就位後回報一次
版本 2.105.0
已新增
- 傳統 XLS 引擎中的有界自動調整,符合 XLSX 引擎已提供的限制:新的
AutoFit(Columns, AMin, AMax)、ColumnsAutoFit(AMinWidth, AMaxWidth)與RowsAutoFit(AMinHeight, AMaxHeight)多載會將每個調整後的欄寬(Excel 寬度單位)或列高(點)限制在給定範圍內 — 0 會讓某一側無界,而全空的欄或列仍會得到要求的最小值
版本 2.104.0
已新增
- 新的唯讀
FormattedText屬性會傳回儲存格的顯示文字 — 透過其數值格式呈現的儲存值,即 Excel 在格線中顯示的方式 — 涵蓋千位分隔符號、小數、百分比、日期與時間遮罩、多段正/負/零遮罩與布林格式 - 在兩個引擎上皆可用:傳統 XLS 引擎中的
IXLSrange(多儲存格範圍會呈現其錨點儲存格)與 XLSX 引擎中的TXLSXCell(豐富文字儲存格會傳回其串接的執行文字)
版本 2.103.0
已新增
- 新的
DetectExcelContentFormat函式(檔名與資料流多載)會從活頁簿的前導位元組而非副檔名識別其容器 — 回報 BIFF/OLE 複合檔案、OOXML.xlsx套件、OpenDocument.ods套件或純分隔文字 — 讓應用程式能將重新命名或無副檔名的檔案繞送到正確的載入器
已變更
TXLSWorkbook.Open現在會嗅探內容簽章,並以指出正確載入器的清楚訊息拒絕 ZIP 式套件(重新命名為.xls的.xlsx或.ods),而不會以不透明的錯誤代碼失敗TXLSXWorkbook.Open現在會辨識 OLE 複合檔案內容(重新命名為.xlsx的舊版.xls,或加密套件),並回報檔案實際上是什麼,而不會顯露 ZIP 剖析器錯誤
版本 2.102.0
已新增
- 傳統 XLS(BIFF8)引擎中的跨活頁簿工作表複製,現在會將公式所使用的活頁簿層級已定義名稱帶到目的地 — 與工作表在活頁簿間移動時 Excel 所做的相同:目的地已具有的名稱會原樣繫結(不會建立重複),缺失的名稱會以其原始定義與可見性註冊,讓公式能針對它重新編譯,而定義在目的地無法解析的名稱(例如它指向該處不存在的工作表)會讓公式如先前一般保留其計算值
版本 2.101.0
已新增
- 傳統 XLS(BIFF8)引擎中的跨活頁簿工作表複製,現在會在目的地沒有參照名稱的工作表且來源已儲存到檔案時,將公式重新指向來源活頁簿作為外部連結:複製的儲存格仍是即時公式(其參照切換為 [SourceBook]Sheet 形式)、來源的計算值會保留為快取結果,讓讀取在連結重新整理之前持續運作,而外部活頁簿參照能透過儲存與重新載入往返;帶有已定義名稱參照的公式,以及來自未儲存來源活頁簿的複製,會如先前一般保留計算值
版本 2.100.0
已新增
- 陣列公式現在能在傳統 XLS(BIFF8)引擎的工作表複製中存活:每個陣列範圍會在複本中整體重建 — 在同一個活頁簿內與跨活頁簿皆然 — 根公式會針對目的地的工作表名稱重新編譯;目的地無法重新編譯的陣列會改為保留其計算值
已修正
- 在傳統 XLS 工作表之間複製包含陣列公式儲存格的範圍,不再有在溢出儲存格上當機的風險(這些儲存格不帶有自己的公式樹);此類儲存格現在會傳輸其計算值
版本 2.99.0
已新增
- 圖表工作表現在可以在傳統 XLS(BIFF8)活頁簿之間複製:圖表記錄資料流會複製到目的地,數列類別/值/名稱參照會針對目的地的工作表名稱重新編譯(其工作表沒有同名對應項的數列會退回為空參照,讓檔案仍能開啟),圖表字型參照會依值遷移到目的地字型表,而圖表工作表的版面設定、索引標籤色彩、縮放與可見性也會一併帶過來;這移除了跨活頁簿工作表複製的最後一個已記載限制
版本 2.98.0
已新增
- 傳統 XLS(BIFF8)引擎中的跨活頁簿工作表複製,現在也會保留儲存格內的豐富文字格式:每個格式執行的字型會依值遷移到目的地活頁簿的字型表,而該執行會被重寫以指向它,讓混合字型字串保持其外觀,而非退回為純文字;注音(遠東)輔助資料也會隨字串移動
已修正
- 僅由豐富文字執行參照(而非任何儲存格格式)的字型,在儲存傳統 XLS 活頁簿時不再從 FONT 表中丟棄,且這些執行現在會遵循與儲存格格式相同的字型重新排序,因此豐富文字字串能在儲存/重新載入循環後保留正確的字型
版本 2.97.0
已新增
- 傳統 XLS(BIFF8)引擎中的跨活頁簿工作表複製,現在也會複製內嵌圖片:圖片位元組會遷移到目的地活頁簿的圖片存放區(相同的圖片會共用而非重複),而每個圖片框會保留其儲存格錨點、大小、可見性與透明色彩;新的 CrossWorkbookCopyXls 範例專案端對端示範了傳統引擎的複製
已變更
- 傳統 XLS 跨活頁簿複製限制現已記載:圖表工作表不會被複製(AddCopy 對它們傳回 nil),而其工作表參照在目的地沒有同名工作表的公式會保留來源的計算值,而非成為外部參照
版本 2.96.0
已新增
- 傳統 XLS(BIFF8)引擎中的跨活頁簿工作表複製,現在也會複製條件式格式(儲存格值與運算式規則、資料橫條、色階、圖示集及其差異樣式)、資料驗證(清單、數值、日期、文字長度與自訂規則,含提示與錯誤方塊)、帶有其各欄準則的自動篩選定義(下拉按鈕會在複本中重建),以及表格(識別碼與名稱會重新發出,讓它們在目的地活頁簿中保持唯一);規則公式會針對目的地的工作表名稱重新編譯,與儲存格公式的行為相符
版本 2.95.0
已新增
- 傳統 XLS(BIFF8)工作表現在可以從一個活頁簿複製到另一個:TXLSWorksheets.AddCopy 會在目的地活頁簿中加入新工作表,並複製來源工作表的儲存格值、公式(重新編碼為文字,讓目的地針對自己的工作表名稱重新編譯它們,保持同名 3D 參照為即時)、合併儲存格、註解、超連結、列高、欄寬、大綱層級、凍結窗格、工作表保護、版面設定、手動分頁、索引標籤色彩與檢視設定;儲存格、列與欄格式會依值遷移到目的地活頁簿的格式表,因此有樣式的來源會產生獨立設定樣式的複本
- 傳統 XLS 引擎中的跨活頁簿格式遷移,現在會在每個格式項目旁帶有全精度的 RGB 與佈景主題色彩,讓填滿、字型與框線保留其精確色彩,而非退回為調色盤近似;這也適用於活頁簿之間的範圍層級貼上
版本 2.94.0
已新增
- 跨活頁簿工作表複製現在會複製條件式格式(含其差異樣式與 dataBar / colorScale / iconSet 視覺承載)、表格、資料驗證與圖表(含每個數列);每個子物件會將自己的狀態深層複製到目的地工作表
- 跨活頁簿公式參照現在會被重寫:工作表名稱存在於目的地的參照會原樣解析,否則會成為回到來源活頁簿的外部參照(註冊為外部連結),或在來源沒有檔案識別時成為 #REF!;重寫會同樣套用到儲存格公式、條件式格式規則、資料驗證公式與圖表數列範圍
版本 2.93.0
已新增
- 工作表現在可以從一個活頁簿複製到另一個:TXLSXSheets.AddCopy 會在目的地活頁簿中加入新工作表,並將來源工作表的儲存格、公式、合併範圍、欄/列尺寸、隱藏/摺疊/大綱旗標、凍結窗格、檢視狀態、保護、版面設定、自動篩選範圍與索引標籤色彩複製到其上;六個各儲存格樣式索引會透過值相等查詢重新對應到目的地活頁簿自己的 Font/Fill/Border/NumberFormat/Alignment/Protection 集區,讓有樣式的來源產生獨立設定樣式的複本,而非指向錯誤集區的索引
- 六個各屬性樣式集區(Fonts、Fills、Borders、NumberFormats、Alignments、Protections)各自公開了一個以 1 為基準、依值去重的 LookupOrAdd;新的 CrossWorkbookCopy 範例專案示範了具有樣式保留的跨活頁簿複製
版本 2.92.0
已新增
- XLSX 活頁簿現在支援樞紐分析表:TXLSXWorksheet.AddPivotTable 會掃描扁平的來源範圍、自動建構樞紐快取,並傳回具類型的樞紐分析表供列/欄/頁面/資料軸連接,仿照長期存在的 BIFF8(XLS)引擎 API,讓相同的程式碼能以任一格式為目標;PivotSetDataFieldFormat 會為每個彙總值欄位指派數值格式
- Excel 建立的樞紐分析表現在能透過 Open 然後 Save 無損往返:XLSX 引擎會原樣保留每個樞紐快取定義、快取記錄與樞紐分析表部分,並在儲存時重新播放原始位元組,因此重新儲存活頁簿永遠不會丟棄或改變其樞紐,即使它們使用了具類型模型未公開的功能
版本 2.91.0
已新增
- 工作表自動篩選現在可以套用到資料上,讓儲存的活頁簿開啟時已隱藏不相符的列,仿照 Excel 從篩選下拉式清單挑選值時的行為
- 內嵌圖片現在會在 EMU 值之外,以真實單位(公分、英吋、點)公開其幾何,並可依縮放比例調整大小,且可選擇鎖定長寬比
- 版面設定邊界現在可以直接以公分設定,作為英吋邊界之外的公制便利
- 受保護的 XLSX 工作表現在透過新的 AllowOption 屬性,公開十五個細微的權限切換(格式化儲存格、插入/刪除列與欄、排序、自動篩選、選取鎖定/未鎖定儲存格等),符合 Excel 的「校閱 > 保護工作表」核取方塊清單;各動作的設定會透過檔案往返
- XLSX 工作表現在可以複製(TXLSXSheets.Duplicate):會加入新工作表,並將來源的儲存格、合併範圍、欄/列尺寸、凍結窗格、檢視狀態、保護、版面設定與索引標籤色彩複製到其上,仿照 Excel 的右鍵 > 移動或複製 > 建立複本
- 二十二個新的範例專案涵蓋了程式庫支援的能力:活頁簿加密、儲存格註解、超連結、已定義名稱、自動篩選評估、內嵌圖片、發票範本、進階 XLSX 條件式格式、合併儲存格、列/欄大綱、凍結窗格、多工作表版面配置、陣列公式、範圍複製/移動、尋找/取代、日期系統、豐富文字、進階 CSV、HTML 匯出選項、自訂數值格式、隱藏列/欄與工作表保護
版本 2.90.29
已變更
- 串流直接讀取器現在會計算每個已填入的儲存格,即使未連接各儲存格處理常式亦然,因此單純的 ReadFile 呼叫可用來快速測量工作表大小;傳回的計數與 CellCount 屬性會回報掃描到的已填入儲存格數
版本 2.90.28
已新增
- 公式現在可以逐步評估,相當於 Excel 的評估公式命令:新的追蹤器會一次縮減一個子步驟的運算式(最內層優先),並以來源子運算式、運算元被其值取代後的同一子運算式以及結果值回報每次縮減,讓應用程式能顯示結果是如何建構出來的;它遵守運算子優先順序、為 SUM 等函式保持範圍參照完整,並重用工作表計算引擎,讓每一步都與完整重新計算一致
版本 2.90.27
已新增
- XLSX 活頁簿現在可以透過新的串流直接寫入器逐儲存格產生,該寫入器會在列到達時將每個工作表直接發出到套件中,而不建構完整的記憶體內儲存格樹,讓非常大的檔案能以近乎恆定的記憶體使用量產生;寫入器跨多個工作表處理內嵌字串、數字、布林、日期與公式,並與串流直接讀取器往返
版本 2.90.26
已新增
- XLSX 活頁簿現在可以透過新的串流直接讀取器逐儲存格掃描,在不建構完整記憶體內儲存格樹的情況下引發各儲存格與各工作表事件,讓非常大的檔案保持近乎恆定的記憶體使用量;每個回報的儲存格都帶有其值、類型(數字、字串、布林、日期或錯誤)、公式文字與樣式索引,並具有選用的日期偵測與提早中止支援
版本 2.90.25
已新增
- 傳統 XLS 工作表現在可以從 A1 樣式儲存格參照加入超連結,同時保留 URL 標準化、活頁簿目標子位址、顯示文字與螢幕提示
版本 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 多載,直接從列與欄座標建立儲存格註解