棋盘上的麦粒问题,相信每个人都听说过。那小小的 64 个棋盘格,因为一个简单的逻辑设定,便能装下全世界的的麦粒。表格工具作为办公场景中最基础也最常用的业务支撑工具,同样有着无限的可能。

近年来,互联网、大数据、云计算、人工智能、区块链等技术加速创新,日益融入经济社会发展各领域全过程。数字经济发展速度之快、辐射范围之广、影响程度之深前所未有,正在成为重组全球要素资源、重塑全球经济结构、改变全球竞争格局的关键力量。

软件和信息服务业是数字经济的先导性、基础性和战略性产业,也是未来数字世界的构建者和引领者。作为知名的软件开发技术和低代码平台提供商,葡萄城专注开发技术和工具四十余年,一直以来引领着国内控件技术和数据分析工具的发展。

本次 SegmentFault 思否 x 技术人专访,采访嘉宾为西安葡萄城技术布道师姚尧。由他来为我们分享表格工具这一看似简单、却动辄“耗资过亿”的产品,技术究竟难在哪儿?究竟解决了什么问题?在我们的日常工作、生活甚至数字经济浪潮中,会扮演什么样的角色?

采访对象介绍:

姚尧,西安葡萄城技术布道师,SegmentFault D-Day 技术讲师,微软开发者峰会讲师,毕业于西北工业大学计算机系,一直聚焦于前端电子表格在各行业信息化中的使用,积累了丰富的前端技术和行业解决方案经验,为腾讯、阿里、华为以及平安等企业提供技术咨询服务。

以下为采访 Q&A 的文字内容,为方便阅读略有删改。


Q1:能否用一句话来介绍 SpreadJS?提炼三个关键词,又会是哪三个?

用一句话的话,我会这么说 —— “葡萄城开发的纯前端表格控件 SpreadJS 可以用不到 10 行代码,将传统 Excel 的功能和使用体验完美嵌入到在线文档系统中。”提炼三个关键词的话我会选择匠人、匠心、匠术。

首先,SpreadJS 是一款在界面和功能上都与 Excel 高度类似的开发控件,提供了表格文档协同编辑数据填报类 Excel 报表设计的功能支持,可帮助软件厂商和系统集成商有效应对数据处理、数据共享和数据有效性甄别等业务需求。除了强大的功能外,正如我的一句话介绍,SpreadJS 可帮助开发者在不依赖任何 Excel 组件的情况下,实现“用不到 10 行代码,将 Excel 的功能和使用体验完美嵌入到在线文档系统中。”

之所以能做到这些,在于葡萄城从 1993 年推出支持微软 Visual Basic 的控件产品,再到与微软展开持续深入的合作,应时而变推出前端开发控件和快速开发平台,目标便是打造出完美兼容 Excel 的功能和使用体验并高度匹配在线办公场景需求的 SpreadJS 控件。

通过 30 年的精耕细作以及对行业的理解沉淀,这背后是一群匠人,凭借匠心打磨出的一款工匠级别的产品与技术。


Q2:SpreadJS 现阶段主要的应用场景有什么?主要用来解决哪些问题?

很多企业的 IT 业务都是从一张表格开始的。数据存储,团队中的信息共享也依赖于表格这一表现形式。文档、报告、凭证以及基础数据不仅仅是汇总计算,大部分是在表格的形式中完成分析与决策的。即便表格的应用场景已经十分广泛,但随着业务的发展,用户对于表格产品的性能和系统兼容度还是能提出更高的需求,这也迫使表格产品不断的优化迭代。

现阶段,SpreadJS 主要聚焦于未来的智慧办公,应用于表格文档线上协同、数据填报、以及类 Excel 报表设计这三大应用场景。借助 SpreadJS 提供的 API 与二次扩展能力,可以让数据处理不再受硬件、操作系统与使用环境的限制,帮助企业实现更为高效的数据处理应用。

比如 SpreadJS 中全新设计的 TableSheet 能力,除了排序、筛选、样式、行和列置顶以及单元格编辑等 WorkSheet 基础功能之外,还提供了关系数据管理、结构化公式和数据分组等实用功能。


Q3:表格工具在用户端看起来似乎很简单、很容易实现,但业内也有人表示这是一个“耗资数亿”才能做出的产品。对于一个表格工具而言,技术层面最大的技术难点是什么?西安葡萄城在表格领域已经深挖数十年,您认为最重要且最坚实的技术积淀是什么?

B/S 作为 Web 兴起之后的一种应用模式,统一了客户端,将系统功能实现的核心部分集中到服务器上。

但随之而来的问题是多浏览器差异、浏览器沙箱机制、内存访问受限、客户端性能低下等。作为数据载体的表格,最直接的影响就是经常会被“吐槽”卡顿,UI 界面“假死”,界面操作不流畅等。

引起这些问题的症结在于浏览器渲染引擎的基础原理:当界面元素越多,浏览器的渲染时间会显著增长,内存消耗会越大。这对于强计算逻辑的表格工具来说,无疑是棘手的难题。

由此可见,开发一款前端表格控件需要攻克这四个技术难点:性能、内存消耗、可靠性和操作体验。

当然,开发一款前端表格控件最难的不只是技术,还有对表格产品的熟悉程度。因为纯技术的问题,开发者靠时间与精力的投入总能弥补。然而,一款真正优秀的产品最重要的一点,则是对于应用场景,以及用户使用体验的细节把控,这也是 SpreadJS 最坚实的技术沉淀之一。


Q4:在过去几年里,SpreadJS备受华为、明源云、远光软件、腾讯、网易等知名企业青睐,丰富的应用场景和解决方案已经覆盖了十几个行业众多头部客户的项目。对于客户而言,表格工具有哪些是最基础最核心的硬需求,又有哪些功能是“额外的惊喜”?

如前面所说,团队沟通中的信息共享大量依赖于表格这一展现形式,而伴随着企业数字化转型的迫切需要,远程办公模式已正式开启,纯在线的表格产品俨然成为了很多企业必备的工具之一。

以某知名保险公司为例,各级机构需要定期向上汇报业务数据,机构人员根据业务将从系统获得的基础数据进行分析汇总,以表格和图表的方式呈现给上级单位。传统的 Excel 线下方式费时费力容易出错;人员流动性较大的基层机构又无法使用繁琐的 BI 系统。而使用 SpreadJS 开发的自助报表系统,可以让基层业务人员按照传统的 Excel 方式在线设计维护数据报表的模板,通过表格数据绑定实现报表的定时发送。自助式报表系统降低人力成本同时也降低了使用人员的门槛,对于报表的查看人员可以直接看到嵌入在邮件中报表结果,或者通过链接进入在线报表查看实时数据。

但随着表格工具的发展,企业和用户对文档协同工具的需求也从「好用」变成了「适用」,如何满足不同场景下的用户需求,是市场对 Saas 企业和系统供应商们提出的挑战。

提到额外的惊喜,除了对于表格依赖较多的金融保险等行业,SpreadJS 还悄悄改变了很多行业的信息化实现方式。在计量检定行业中,吉林省科图科技有限公司是信息化的先行者,公司提供的计量检测云服务 SaaS,其核心证书模块便是和 SpreadJS 产品线一起打磨而成。从最初的证书在线制作,到证书的在线打印,以及后续的证书批量制作。在计量行业,在线证书设计、预览,证书内容自动填充,特殊符号矢量支持,批量 PDF 证书生成等功能,SpreadJS 已经全面覆盖。


Q5:很多企业的 IT 业务都是从一张表格开始的。不仅仅是数据存储,团队中的信息共享也需依赖于表格这一数据结构。在未来的智慧办公场景及数字经济中,一份表格还可以承载哪些需求?可以担任什么样的角色?

了解表格工具的朋友会知道,表格工具的迭代历程,其实正是一部用户需求的演化史。而表格工具保持旺盛生命力的原因,正是因为人们对数据处理的需求始终旺盛。随着互联网的发展,在智慧办公场景中人们对于数据表格工具有着更多的期待,比如基于云服务的在线功能以及企业级的协同需求,就是现阶段的一个重点。尤其是 2022 年数字中国概念的提出,有力推进了线上办公进程,使得表格技术的在线协同能力上升到了新的高度。

未来十年的表格工具,一定会要具备“云端、智能化、数据共享”这几个特点,链接多元的业务数据场景,提升企业的生产力。

对于表格工具担任的角色,我想用“脚踏实地,仰望星空”来形容。表格工具作为最有力的底层支持工具,一定是脚踏实地的发展技术、深入行业,成为业务创新、技术探索最有力的支撑。但同样凭借链接数据的能力,也有可能成为带动办公场景变革、企业生产模式变革的一把钥匙。

今日,葡萄城将践行“赋能开发者”使命,携最新前沿电子表格技术举办“葡萄城表格技术研讨会暨表格产品发布会”,旨在分享先进表格技术功能特性,发掘表格技术最佳实践,推动未来办公领域数字化发展。

对本次发布会的详细内容感兴趣可以点击此处查看回放

我们邀您一起,走近表格工具里的无穷宇宙。