1. 电子表格软件发展史
1977年 VisiCalc
石灰粉(VisiCalc)是在1977年推出的第一款电子表格办公软件,是由Dan Bricklin和Bob Frankston在攻读哈佛大学工商管理硕士时共同开发的。
1982年 Multiplan
Microsoft推出了它的第一款电子制表软件-Multiplan,并在CP/M系统上大获成功,但在MS-DOS系统上,Multiplan败给了Lotus1-2-3(一款较早的电子表格软件)。这个事件促使了Excel的诞生,正如Excel研发代号DougKlunder:做Lotus1-2-3能做的,并且做的更好。
1983年 Lotus 1-2-3
是Lotus Software(美国莲花软件公司)于1983年起所推出的电子表格软件,在DOS时期广为个人电脑用户所使用,是一套杀手级应用软件,1995年6月11日,IBM于以35亿美元收购了莲花公司,现在的莲花成为了IBM的一家子公司,而Lotus 1-2-3也成为了IBM公司的五大软件产品线(Information Management、Lotus、Rational、Tivoli、WebSphere)之一。
1983年 至今 Excel
1983年,比尔盖茨召集了微软最高的软件专家在西雅图的红狮宾馆召开了3天的“头脑风暴会议”。盖茨宣布此次会议的宗旨就是尽快推出世界上最高速的电子表格软件。
1985年,第一款Excel诞生,它只用于Mac系统。 Excel发展史
2006年 Google Sheets
是Google推出的一个电子试算表程序。用户可以在网络应用程序、Android、IOS、Windows、黑莓手机以及ChromeOS的应用程序上使用Google Sheets。Google Sheets与Microsoft Excel文件格式兼容[2]。Google Sheets能让用户在线创建和编辑文件,还能同时与其他用户进行实时协作。
Google Sheets起源自XL2Web,XL2Web是2Web Technologies开发的电子表格应用程序。2006年,2Web Technologies被Google收购[3],XL2Web也更名为Google Labs Spreadsheets。2006年6月6日,Google对少数用户开放Google Labs Spreadsheets测试[4][5]。2010年3月,Google收购了在线文档公司DocVerse。[6]2012年6月,Google收购了Quickoffice[7]。2012年10月,Google Spreadsheets更名为Google Sheets[8]。
2011年 Microsoft 365
Microsoft 365是微软建基于Microsoft Office办公室套件的云端办公室方案,包括免费的线上Office Online、线上会议Skype for Business、管理信件的Outlook Web App、建立小组沟通网站的SharePoint Online等。[1]2020年3月31日,微软宣布将会把Office 365名称改为Microsoft 365,并推出新的订阅方案,4月21日,微软正式将Office 365改名为Microsoft 365。
2. Excel 概览
2.1 Office Open XML
2.2 openofficexml SpreadsheteML 概述
http://officeopenxml.com/anatomyofOOXML-xlsx.php
3. 表格技术产品
3.1 Handsontable
Handsontable是具有电子表格功能和外观的数据网格。Handsontable用JavaScript编写,可与Angular,Vue和React等最受欢迎的框架一起使用。可以使用自定义插件轻松修改或扩展它。它使用JSON格式绑定到任何数据源,并处理大量记录。它支持诸如过滤,排序和CRUD (创建,读取,更新,删除)和高级操作(多列排序,创建自定义单元格类型和添加数据摘要)之类的操作。在线Demo
使用场景:
● 数据库编辑
● 配置控制
● 数据合并
● 人力资源规划
● 销售报告
● 财务分析
3.2 x-spreadsheet
轻量级,基于 JavaScript 快速构建 web excel, 在线Demo
3.3 spreadjs
SpreadJS 是一款基于 HTML5 的纯前端电子表格控件,SpreadJS 开发的源代码程序,提供开放的 API 和高度类似 Excel 的操作模式,可助您快速验证 Excel 导入导出、数据可视化、公式引用、数据绑定等产品核心功能,并顺利完成数据填报模块的开发与维护,体验“如何用不到 100 行代码,在前端实现 Excel 的全部功能”。在线Demo
3.4 sheetjs
电子表格数据工具包
3.5 Excel add-ins
Excel加载项使您可以跨多个平台(包括Windows,Mac,iPad和浏览器)扩展Excel应用程序功能。使用工作簿中的Excel加载项可以:
● 与Excel对象进行交互,读取和写入Excel数据。
● 使用基于Web的任务窗格或内容窗格扩展功能
● 添加自定义功能区按钮或上下文菜单项
● 添加自定义功能
● 使用对话框窗口提供更丰富的交互
Office加载项平台提供了框架和Office.js JavaScript API,使您可以创建和运行Excel加载项。
更多js表格合集:https://jspreadsheets.com/
4. 表格核心挑战
4.1 导入/导出Excel
要兼容excel文件能打开,这是必须的,数据兼容性
4.2 超大数据选区的数值计算性能
如何性能最佳,数据更新复杂的财务公示或者自定义函数计算
4.3 对Excel产品的深度理解
开发者对excel的使用理解程度高,利于开发功能和维护
4.4 客户端与服务端逻辑共享
早期 google doc 通过 gwt 完成前端与服务端逻辑的共享