从 AI 生成到在线预览:dsh-spreadjs-editor 补齐 DSH 的 Excel 任务闭环

在 AI Agent 里,生成文件只是任务做到一半。

用户可以让 Agent 汇总数据、做销售报表、整理项目计划,或者改一个已有的 Excel 文件。Agent 做完之后,工作区里留下一个 .xlsx。接下来用户得确认这个文件对不对:工作表有没有漏,公式结果合不合理,格式完不完整,数据还要不要人工调。

DSH 里没有对应的查看工具时,用户还是得下载文件,再用桌面 Excel 打开。Agent 已经在浏览器里干完了活,结果确认却回到了本地软件,流程在最后一步断了。

dsh-spreadjs-editor 接的就是这一段。

文件生成了,任务还没结束

Agent 的文本回复能直接显示在会话里,文件结果不行。一个文件是不是「已经完成」,不能只看 Agent 返回的路径或者一句成功提示。

以销售报表为例,用户可能要看:

  • 约定的明细表和汇总表有没有都生成。
  • 日期、金额和百分比格式对不对。
  • 汇总公式引用的数据区域对不对。
  • 列宽、冻结窗格和筛选看起来方不方便。
  • 标题、备注或者个别数据是不是还要手改。

这些动作不一定都要扔回给 Agent。有些判断得人直接看,有些小修改用户自己动手更快。完整的 Agent 文件工作流通常包含「生成、预览、确认、调整」几个环节。

它没有给 SpreadJS 加任何功能

先说清一件事:dsh-spreadjs-editor 没有增强 SpreadJS 的公式、格式或编辑能力。插件用的是原生 SpreadJS Designer,把它注册成 DSH 文档系统里负责工作簿的那个实现。

用户从当前会话的工作区选文件,插件读出来交给 SpreadJS,然后由 Designer 显示工作簿。插件支持 .xlsx、.xlsm、.csv、.sjs 和 .ssjson;Excel 文件走 ExcelIO 载入工作簿,SpreadJS 自有格式和 CSV 走各自的导入方式。

为什么要直接上完整 Designer

如果目标只是显示几行数据,一个只读网格就够了。但 Agent 生成的 Excel 往往不是简单的二维数组,里面可能有多个 Sheet、公式、格式、图表或者其他工作簿对象。

插件直接用 SpreadJS Designer,没有另外做一套简化工具栏。这么做有两个原因。第一,用户看到的是完整的电子表格界面,能用熟悉的方式检查工作簿。第二,插件不重复实现 SpreadJS 已经提供的编辑命令和界面。

保存是怎么写回工作区的

插件把自己注册成 DSH 文档系统里处理工作簿的那个实现,文件入口沿用 DSH 自带的右侧栏,不再需要第三方侧边栏插件。

打开文件时,由 DSH 读出完整字节交给插件;保存时,插件把 Designer 导出的字节写回你打开的那个文件。用户不需要自己走「下载、修改、重新上传」这一套。

这条链路也划出了职责边界:

  • DSH 管 Agent 会话、工作区文件,以及文件的读取和寻址。
  • dsh-spreadjs-editor 负责文件格式适配、编辑器集成,以及写回原文件。
  • SpreadJS 与 Designer 负责电子表格交互和工作簿处理。

这么分有个实际好处:每层都能独立演进。DSH 升级会话能力、SpreadJS 升级表格引擎、插件补格式适配,都不需要另外两层跟着改。职责混在一起就麻烦了,Agent 框架开始理解单元格和公式,表格组件开始处理会话和文件路径,出问题时很难定位。

现在最适合的用法

现阶段最清晰的场景是「Agent 完成任务后,用户预览或继续编辑结果」。

比如可以要求 Agent:

代码块

Plain 复制代码
请根据当前目录中的订单数据生成一份月度销售报表,
包含明细表和按区域汇总的工作表,并保存为 sales-report.xlsx。

Agent 完成后,用户直接从右侧文件树打开 sales-report.xlsx,检查工作表、数据、公式和格式。只改一个标题或者调几个值,在 Designer 里就能完成并保存。

这个流程不要求 Agent 理解 SpreadJS API。Agent 只负责按自己的工具能力生成文件,插件负责让结果可见、可检查、可继续编辑。

让 Agent 直接改你正在看的表

保存写回解决的是「改完要落盘」。再往前一步的问题正好相反:Agent 想改的时候,用户正在编辑器里看着同一张表。

0.2.0 起,编辑器会把当前打开的工作簿交给同一页面里配套的驱动插件(@grapecity-software/dsh-spreadjs-driver)。装上之后,可以直接对 Agent 说「把金额列改成红色」,改动立刻出现在屏幕上那张表里。

这条路和「Agent 生成文件、你再打开」有本质区别:改的是同一个对象,不是文件副本。所以它不会覆盖你尚未保存的编辑,也不会动磁盘上的文件------改动只活在编辑器里,除非你明确要求保存。工作簿是编辑器主动交出去的,同页面上的其他插件拿不到。

没有装驱动插件时,编辑器行为和以前一样。这段适配是单向的、可选的,两边都不需要硬依赖对方。

再往后,是把表格操作本身变成一组结构化的工具,让 Agent 不必靠通用文件工具去写工作簿。那是方向,不是当前已经有的能力;真要走到那一步,还得解决操作模型、文件并发、错误回滚和结果验证这些问题。

自建 DSH 服务的情况

DSH 是 B/S 架构,插件作为 DSH 插件安装,同时向 Web UI 注册浏览器端编辑器。

个人开发者可以直接拿它做本地 Agent 工作流。准备部署自有 DSH 服务的团队,也多了一个现成的 Excel 编辑入口,可以结合自己的用户体系、工作区管理和业务流程。

怎么开始

安装和启动步骤见《5 分钟体验 dsh-spreadjs-editor》。需要版本较新的 DSH,不需要额外安装侧边栏插件。启动后在 Web UI 右侧文件树里打开支持的文件即可。

小结

AI Agent 能生成 Excel,但用户还是得看见、判断、调整结果。dsh-spreadjs-editor 把原生 SpreadJS Designer 接进 DSH,让 Agent 生成文件之后的预览和编辑留在同一个 Web 工作流里。

现在解决的是结果查看、人工编辑和保存写回。再进一步,Agent 可以直接修改用户正在看的这张表,这个入口就从「结果预览」变成了「人机协作界面」。

参考链接

相关推荐
彦9 小时前
Excel实用技巧笔记
excel
Logic10112 小时前
Excel流程控制if函数,IF+数组轻松解决复杂判断问题
excel·流程控制·条件判断·if·excel函数·if函数·数组公式
跨境猫小妹1 天前
跨境电商订单导出CSV用Excel打开后订单号变成科学计数法如何定位并修复
excel·跨境电商·营销策略
weixin_440401692 天前
大数据技术-数据分析(EXcel+Python数据处理+SQL)
大数据·python·数据分析·excel
jaysee-sjc2 天前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
ms365copilot2 天前
Copilot 代理开始进入Word、Excel、PowerPoint,不再只是“问一句答一句”
word·excel·copilot
wuyk5552 天前
PyQt6-第14讲-数据库与Excel双向同步
数据库·python·ui·excel·pyqt
qq_364682152 天前
AI如何将录音内容自动整理成Excel清单
人工智能·excel
Logic1012 天前
Excel信息+照片文件夹,自动合成word格式化文档
word·excel·办公自动化·邮件合并·office技巧·自动插入图片·插入域
Data-Miner3 天前
一个省大模型积分的 Excel 数据处理方案:脱敏生成逻辑,脚本复用把 token 降到 0
人工智能·windows·excel