发布说明

ReoGrid One(V5)和 ReoGrid v4 的更新历史。

ReoGrid One(V5)
最新
5.0.0
2026年8月19日 重大版本

V5(ReoGrid One)的首个稳定版本。核心完全重写,与 V4 不向后兼容

主要特性

领域 内容
内存 完全虚拟化。每个单元格约 16–23 字节;空单元格不占用内存
样式 四级继承(单元格 ◁ 行 ◁ 列 ◁ 工作表);相同格式自动共享。支持隔行条纹、文字旋转和缩进
公式 122 个函数、依赖重算、跨工作表引用、定义名称
数字格式 Excel 格式代码(多节、条件、颜色)
单元格类型 六种(复选框 / 下拉框 / 进度条 / 按钮 / 超链接 / 迷你图)
条件格式 完整的 OOXML 集合,含图标集
显示 高 DPI、冻结窗格、缩放;仅绘制可见区域
编辑 支持输入法和公式高亮的单元格内编辑器
数据 排序(多关键字)、筛选(值列表和条件)、自动填充、大纲、撤销、查找和替换
输入与保护 数据验证、单元格批注、工作表保护(按单元格锁定)
输入输出 reogrid-json、CSV、XLSX(流式)、PDF
打印 与界面无关的分页引擎,由 PDF、WinForms 和 WPF 共享。支持打印标题、页眉和页脚
平台 WinForms / WPF / Avalonia,以及无界面(headless)模式

NuGet 包

unvell.ReoGrid.One / .One.Wpf / .One.Avalonia / .One.Core

许可证

已为 V4 签发的密钥在 V5 中可直接使用,无需重新签发。

关于 V5 文档:ReoGrid One(V5)的详细文档目前仅提供英文和日文版本,中文版正在准备中。 在此期间,请参阅英文版文档:

ReoGrid v4
v4 最新
v4.5.1
2026年7月9日
  • 新功能
    为多工作表 XLSX 文件新增可选的工作表加载策略,通过 ReoGridControl.WorksheetLoadStrategy(或每次加载时的 ExcelFileFormatArgument.WorksheetLoadStrategy)设置。
    • LoadAll(默认):在 Load 期间解析所有工作表 —— 传统行为。
    • DelayLoad:仅预先解析活动工作表,其余工作表在首次访问时(例如点击其标签)加载。
    • BackgroundDelayLoad:与 DelayLoad 类似,但后台任务会预加载其余工作表,因此切换标签时通常已加载完成。
  • 变更
    多工作表 XLSX 文件默认恢复为立即加载。v4.5.0 中引入的隐式按表延迟加载,在点击大工作表的标签时可能导致界面短暂冻结,因此现在改为通过 WorksheetLoadStrategy.DelayLoad / BackgroundDelayLoad 显式启用。默认的 LoadAll 会在 Load 期间解析所有工作表,与 v4.4 及更早版本一致。
  • 修复
    渲染:修复了绘制过程中可见区域增加一行或一列时偶发的崩溃。
  • 修复
    Excel 导入:修复了从调用方已释放的 MemoryStream 延迟加载工作表时的崩溃 —— 现在会保留文件字节直到加载完成。
历史版本

v4.5.0

2026年6月12日
  • 注意
    现在必须设置许可证密钥。从 v4.5 起,使用前必须通过 SetLicense(string) 设置有效的许可证密钥。若未设置密钥,整个表格会被灰色遮罩覆盖,鼠标/键盘输入、单元格编辑和打印都将被阻止。从 v4.4 或更早版本升级时,请务必在使用表格前调用 SetLicense(string)
    • 许可证密钥通过数字签名防篡改。
    • 许可证密钥可从客户门户获取(https://portal.unvell.com/)。
  • 新功能
    新增 47 个兼容 Excel 的公式函数,涵盖逻辑、查找、日期、统计和文本等类别。
    • 逻辑/条件:IFERROR / IFS / SUMIFS / COUNTIFS / AVERAGEIFS
    • 查找/引用:INDEX / OFFSET / CHOOSE
    • 数学/统计:ROUNDUP / ROUNDDOWN / INT / TRUNC / SQRT / SIGN / PI / SUMPRODUCT / RANK / LARGE / SMALL / MEDIAN / STDEV / STDEVP / VAR / VARP
    • 日期/时间:DATE / DATEVALUE / TIMEVALUE / WEEKDAY / WEEKNUM / EDATE / EOMONTH / NETWORKDAYS / WORKDAY
    • 文本:TEXT / SUBSTITUTE / REPLACE / CONCAT / CONCATENATE / TEXTJOIN
    • 信息:ISTEXT / ISNONTEXT / ISNA / ISLOGICAL / ISEVEN / ISODD
    • 双字节(CJK):JIS / ASC / DBCS,以及简化版 PHONETIC
  • 新功能
    新增点选模式公式编辑。编辑公式时,点击单元格即可在光标处插入或替换单元格引用,无需退出编辑模式。拖动可扩展为区域,方向键可移动当前引用 —— 与 Excel 和 Google Sheets 的操作感一致。公式中的每个引用都会以颜色区分并高亮显示。
    • 拖动高亮边框的边可移动引用,拖动角可调整其大小。
  • 新功能
    新增 XLSX 大纲(分组)的读写。行和列的大纲级别及折叠状态现在可与 Excel 文件交换。
  • 新功能
    公开了 LazyLoadDataSource,并提供 AddDataSource(source, mode) 重载,可根据记录数和列数自动推断区域。
  • 改进
    大幅改进了 XLSX 的加载性能和内存占用。
    • 引入自研的流式解析器,避免在加载过程中生成中间数据。
    • 包含大量工作表的工作簿现在仅预先解析打开的工作表,其余在首次访问时才实例化。
    • 在一千万单元格的工作簿上内存占用减少约 37%(3.9 GB → 2.5 GB)。配合视口感知的样式求值,内存进一步降低约 40%,加载时间降低约 60%。
    • 单元格加载速度提升约 50%(数字格式模式缓存、引用解析优化等)。
  • 改进
    增强了 XLSX 导入的兼容性。
    • 支持多节/条件自定义数字格式。
    • 修复了主题颜色加载时明暗颠倒的问题,单元格现在显示正确的颜色。
    • 正确解析富文本格式(是否加粗),并在每个换行处拆分为独立行。
    • 显示锚定到单元格位置的图片(例如印章),以及嵌入 OLE 对象的预览图。
    • 内联字符串单元格现在作为文本加载。
  • 新功能
    新增 Worksheet.ClearStyleCache(range?) 用于释放内存 —— 在大批量加载后可释放缓存的样式。
  • 新功能
    新增 Worksheet.RowOutlineButtonLocation / ColumnOutlineButtonLocation,可分别为行和列设置大纲按钮位置(现有的 OutlineButtonLocation 会同时设置两者)。
  • 修复
    公式:修复了输入函数名途中点击单元格时偶发的崩溃。
  • 修复
    样式:修复了修改共享同一样式的多个单元格之一时,其他单元格也被一并修改的问题。
  • 修复
    样式/字体:修复了继承字体的单元格在提交编辑或重绘时字号或字重发生变化的问题。
  • 修复
    打印:修复了空工作表被拆分到两页、拖动分页符时抛出异常,以及恰好在页边界处对齐的行/列多出一个单元格页面的问题。
  • 修复
    Excel 导入:修复了拆分窗口被误判为冻结窗格,导致整个工作表加载失败的问题。
  • 修复
    富文本(WinForms):修复了自动调整后行高不足导致文本被裁切的问题。
  • 修复
    修复了 CSV 导出后控制台/Shell 输出被打乱的问题。

v4.4.0

2026年4月24日
  • 改进
    渲染加速:缓存单元格样式和边框绘制资源,加快屏幕重绘。
  • 改进
    字体处理加速:优化字体名称查找和字体对象获取,在显示大量单元格时更加流畅。
  • 改进
    公式重算加速:重新设计依赖跟踪算法,在单个单元格被大量其他单元格引用的场景下约提速 2.7 倍。
  • 改进
    排序加速:通过在排序期间挂起不必要的处理,显著提升大数据集的排序性能。
  • 改进
    条件格式加速:优化求值时机 —— 不再在每次单元格编辑时重算,而是在渲染时批量处理。
  • 改进
    批量数据操作加速:通过在批处理期间抑制屏幕更新和事件触发,提升区域数据赋值、粘贴和撤销操作的性能。
  • 修复
    公式:以加号开头的表达式(如 =+D25-F8-F14)现在与 Excel 行为一致。
  • 修复
    公式:工作表名称中包含括号或空格的引用(如 'BS(USD)'!B3'My Sheet'!A1)现在可以正确处理。
  • 修复
    排序:公式现在会随所在行一同移动(与 Excel 行为一致)。
  • 修复
    条件格式:修复了移除条件格式后单元格样式未被正确清除的问题。
  • 变更
    移除了 ConditionalStyleApplyCells 属性和 ConditionalStyleApplyCellCollection 类。
  • 新功能
    新增 Worksheet.HasConditionalStyle(row, col) / HasConditionalStyle(CellPosition),用于检查指定单元格是否应用了条件样式。
  • 新功能
    新增 Cell.HasConditionalStyles 属性 —— 无需实例化样式列表的轻量检查。

v4.3.14

2026年3月25日
  • 修复
    修复了 NormalViewportController 中的鼠标滚动行为,正确限制水平和垂直滚动范围。
  • 修复
    修复了 ControlShare 中的背景色应用问题 —— ControlStyle 的变更现在会立即反映。
  • 新功能
    ControlAppearanceStyle 新增 StyleChanged 事件,用于在样式颜色变更时发出通知。

v4.3.12

2026年2月18日
  • 修复
    修复了指定单元格字体时 Excel 导出缓慢的问题。
  • 修复
    修复了 RGF 保存/加载,使以字符串模式指定的数字格式参数(如 0.0)能正确保留。

v4.3.11

2026年2月12日
  • 修复
    修复了 v4.3.10 引入的回归问题:最后一行和最后一列的边框未被绘制。
  • 修复
    修复了多页打印时最后一行和最后一列的单元格未打印在末页的问题。

v4.3.10

2026年2月7日
  • 新功能
    Worksheet 上公开了 DoAction
  • 修复
    修复了同步时的滚动条位置。
  • 修复
    修复了打印时的单元格溢出。
  • 修复
    修复了 Excel 导出中的字体样式。

v4.3.8

2025年12月25日
  • 修复
    修复了 WPF 富文本中字体键未被检测到的问题,并新增字体查找回退机制。
  • 修复
    修复了表头下拉按钮的渲染。
  • 新功能
    新增 IsSuspendingScrollToCell 属性,用于临时禁用滚动到单元格。
  • 改进
    改进了行/列全选行为,解决了特定条件下视图被强制滚动到最后一个单元格的问题。

v4.3.4

2025年12月3日
  • 修复
    修复了 WPF 版本在特定条件下 RichText 未正确渲染的问题。
  • 新功能
    为内置单元格类型新增撤销/重做支持。
  • 修复
    修复了特定条件下行表头背景色显示不正确的问题。
  • 修复
    修复了隐藏单元格的参考线和选区显示。

v4.3.3

2025年11月13日
  • 修复
    修复了加载 RGF 文件后部分隐藏列无法重新显示的问题。
  • 修复
    修复了特定条件下单元格公式未被重算的问题。
  • 修复
    修复了重新排列工作表后 SheetTab 绘制不正确的问题。
  • 修复
    修复了 DropdownCell 无法复制的问题。
  • 修复
    修复了冻结单元格时特定条件下滚动条位置显示不正确的问题。

v4.3.2

2025年11月6日
  • 修复
    修复了无参数公式(如 ABS()COS())引发的异常。
  • 修复
    修复了单元格内文本换行的问题。
  • 新功能
    新增表头单元格的文本换行支持。
  • 修复
    修复了缩放时大纲(分组)级别按钮文本绘制不正确的问题。
  • 修复
    修复了富文本渲染中的缩放问题。
  • 修复
    修复了加载 Excel 文件时列宽获取不正确的问题。
  • 修复
    修复了表头单元格中偶发的错误。
  • 修复
    修复了 WPF 版本中工作表标签显示不正确的问题。
  • 新功能
    新增 SheetTabFont 属性。
  • 新功能
    新增 Worksheet.Tag 属性。
  • 修复
    修复了拖放移动工作表标签时的显示问题。
  • 修复
    修复了导出到 Excel 时 Dotted 边框样式被改为 Dashed 的问题。
  • 修复
    修复了未显式设置字号的单元格导出到 Excel 时从 10.5 变为 12.5 的问题。

v4.3.0

2025年10月6日
  • 变更
    IsValidAddress 重命名为 IsValidAddressFormat,使命名更加清晰。
  • 新功能
    新增 Worksheet.IsValidAddress,用于更严格的地址字符串验证。
  • 新功能
    新增 IsValidCellAddressIsValidRangeAddress,在验证地址有效性的同时安全生成坐标对象,并提升了性能。
  • 改进
    通过在 ReoGrid 内部处理中使用 IsValidCellAddress / IsValidRangeAddress 增强了稳健性。
  • 修复
    修复了延迟加载期间缩放时单元格未正确加载的问题。
  • 改进
    增强了 ADDRESS 函数,可从引用单元格值动态生成地址。
  • 改进
    增强了 INDIRECT 函数,实现更准确的单元格引用管理以及对小写地址的正确解析。
  • 修复
    修复了缩放操作期间行号文本未缩放的问题。
  • 修复
    修复了包含特定 RichFormatText 的 Excel 文件在加载和保存后损坏的问题。
  • 变更
    将目标框架从 net8.0-windows7.0 更改为 net8.0-windows,支持更通用的 .NET 8 Windows 环境。
  • 改进
    改进了工作表克隆后的重新计算 —— 解决了克隆包含共享公式和依赖链的工作表后计算结果不一致或过时的情况。在大多数情况下,克隆后不再需要额外调用 Recalculate
  • 改进
    改进了边框 Excel 输出的可靠性 —— 规范化处理以避免将空白/透明边框写入为不必要的"细线"样式。修复了 Dotted / DashDot / DashDotDot / medium 边框样式的映射,防止重新导入时形状损坏。解决了应用"仅外边框"设置时角落单元格出现不必要的对侧线条的问题。
  • 注意
    如果您使用了旧版本中在设置"仅外边框"后无意添加的内部线条,您需要重新显式设置它们。
  • 注意
    在克隆后立即调用 Recalculate 的代码可能变得多余(可出于性能调优目的保留)。
  • 改进
    增强了 Excel 兼容性 —— 在 IF 函数和类似上下文中,0 现在被解释为 FALSE
  • 新功能
    实现了查找函数:VLOOKUPHLOOKUPMATCHXMATCHXLOOKUP
  • 改进
    乘法运算符(*)现在可以将数字字符串转换为数字(例如,"10"*2 → 20)。
  • 修复
    除以零现在处理为 InvalidValue(兼容 Excel 的 #DIV/0!)。
  • 注意
    使用近似匹配时,数据必须按升序或降序排列,与 Excel 相同。
  • 改进
    增强了稳定性。
  • 改进
    改进了渲染性能。
  • 新功能
    新增对 .NET 8 和 .NET Framework 4.8 的支持。
  • 修复
    修复了红色文本格式未正确显示的问题。

v4.0.0

重大版本
  • 新功能
    延迟加载 —— 超高速数据加载模式。
  • 新功能
    多行表头支持。
  • 改进
    WPF 版本大幅增强。
  • 新功能
    数据源机制。
  • 改进
    增强的 DropdownListCell
  • 新功能
    新增 ComboListCell(支持自动补全)。
  • 新功能
    新增 Excel 自定义格式模式支持。
  • 改进
    增强的大纲功能。
  • 新功能
    自定义条件筛选。
  • 新功能
    条件样式。
  • 新功能
    字符串搜索功能。
  • 改进
    增强的单元格锁定。
  • 新功能
    输入验证。
  • 新功能
    工作表数据现在支持第 0 列和第 0 行。
  • 改进
    进一步提升渲染速度。
  • 改进
    浮点计算精度修正。
  • 新功能
    通过 WinAppDriver 支持自动化测试。
  • 改进
    新增内置公式函数。

想了解 ReoGrid v4 的主要新功能概览:

v4 新功能页面