工作簿查看器功能
概览
除了文件操作,Delphi 桌面应用经常还需要显示和编辑工作簿;HotXLS 内置一个可视化 VCL 控件,可以直接渲染两种工作簿模型
TXLSWorkbookViewer 控件
TXLSWorkbookViewer 组件提供滚动、矩形选择、编辑、公式输入、批注、超链接、条件格式和打印预览,全程不需要创建临时文件
经典 XLS 工作簿赋给 Workbook,XLSX 和 ODS 工作簿赋给 XlsxWorkbook,或者调用 LoadFromFile 让控件自己持有加载的工作簿
编辑与公式输入
把 Editable 设为 True 即可启用 F2、双击、可打印按键、Delete 和公式栏编辑;受保护且锁定的单元格保持只读,而显式解锁的单元格保持可编辑
FormulaBarText 返回所选单元格带前导等号的公式或其输入值,给该属性赋值则会应用新公式或输入值,并重算依赖公式
Undo 和 Redo 使用由 UndoLimit 控制的有界循环历史;撤销一个新建的 XLSX 单元格会把它恢复到稀疏存储中不存在的状态。每条历史记录都是一个 TXLSViewerCellState 快照(工作簿类型、存在性、工作表、坐标、公式、值和格式状态),也可以通过公开的状态读取方法获取
编辑钩子是类型化的回调:OnBeforeEdit(一个 TXLSViewerBeforeEditEvent)接收拟输入的文本,并可通过 Allow 和 Text 否决或改写它;OnAfterEdit(一个 TXLSViewerAfterEditEvent)报告最终提交的文本
Viewer.Editable := True; Viewer.GoToCell(2, 3); Viewer.FormulaBarText := '=A1*2'; Viewer.Undo; Viewer.Redo;
区域与引用选择
使用 Shift 导航、鼠标拖拽或 SelectRange 创建矩形选择,选择结果通过 SelectionTop、SelectionLeft、SelectionBottom、SelectionRight 和 SelectedRange 暴露
BeginReferencePick 启用公式引用模式,OnReferencePick(一个 TXLSViewerReferenceEvent) 在选择变化时发布当前的 A1 区域;宿主公式编辑器接受引用后调用 EndReferencePick
显示属性
请查看以下配置控件
- WorkbookViewer 组件参考指南 — 编辑、导航、事件、渲染和预览控件
- DisplayGridLines 属性 — 切换网格边框
- Zoom 属性 — 设置工作表缩放比例