纯前端表格控件SpreadJS以专注业务、提升效率赢得用户与市场
提起华为2012实验室,你可能有点陌生。
但你一定还对前段时间华为的那封《海思总裁致员工的一封信》记忆犹新,就在那篇饱含深情的信中,我们知道了华为为确保公司大部分产品的战略安全和连续供应,打造了无数“备胎”,一夜“转正”从幕后走向前台的海思半导体就是其中之一。而海思半导体就隶属于华为2012实验室下属的二级部门,其他二级部门还包括:中央硬件工程学院、研发能力中心、中央软件院等。
曾有戏言说这个实验室是中国黑科技最多的地方,也代表着国内最顶级的科研水平。
而就是这么一个本身科技水平颇高的实验室,在2018年选择了纯前端表格控件——葡萄城SpreadJS作为其部门内部表格数据管理的工具。
Why ?
1、小小的控件大大的能量
一般来说,企业的IT部门负责整个企业业务应用程序的开发和部署。而每一个新的应用程序及系统的改动,会收到来自各个部门的各种要求,体量不大的IT部门有时候并不能很好很及时的满足这些需求。
最终就会形成,IT部门难以跟上企业的业务,同时身上积压着超出他们承受范围的工作等恶性循环。而业务部门等不及就开始自己着手解决问题,他们购买未经批准的现成应用程序或者自行制定解决方案。往往也不符合企业的IT标准,并且经常在组织间或在无法协同的系统间产生冲突,无形中成为桎梏企业业务的重大问题。
在这种混乱中,一种减少重复工作,提升效率的工具——控件,悄然兴起。
创建控件的最大意义在于封装重复的工作,其次是可以扩充现有控件的功能。
通俗的来说,控件就如同带有魔法的积木一样,只需要拿起来堆堆叠叠,就可以做出一辆小车、几棵植物,建起一座城池。但它又与普通堆积木不同,用积木堆的小汽车,再使用时,还需要重复劳动,而控件则可以随时随地的初始化并可以通过接收参数改变自身属性(颜色,尺寸等)来使用。
这些控件能给项目开发和软件交付带来极大的便利。
而我们这次的故事的主角——SpreadJS,就是一个赋能开发者的纯前端表格控件。SpreadJS可以帮助开发人员专注于产品的业务逻辑,而不用机械式的通过编码实现数据基本处理,如增删改查等。
SpreadJS 是一款基于 HTML5 的纯前端电子表格控件,以“高速低耗、高度类似Excel、可无限扩展”为产品特色,提供移动跨平台和浏览器支持,同时满足 .NET、Java、App 等应用程序中的 Web Excel 组件开发、数据填报、在线文档、图表公式联动、类 Excel UI 设计等业务场景,为用户带来亲切的 Excel 使用体验。
2、开发难度大但实际作用深远
设计控件是一项繁重的工作。比如它的特性之一兼容Excel就有很大的难度。
兼容 Excel,也可以称之为Office文档兼容性。
简单来说就是,如果我们开发别的软件,只要把功能实现就好,不论中间怎么样。比如播放视频的软件只要能播视频就好,听音乐的能听音乐就好。但这个纯前端的取代Excel的产品必须能够正确读取Office Excel文档。因为Office Excel的市场占有率太高,如果不能兼容,意味着别人发来的文档你打不开。想象一下,你以前的文档,你同事、合作伙伴发来的文档,你都打不开。如果他们要看你的文档,得先装对应的软件。这就好像你在微信之外,用另一个全新的聊天工具,你要找朋友聊天,得先让他们安装一个新的聊天工具。
而要实现这样的兼容性,就需要与原有设计(文件格式设计会隐含着原来作者对程序Model的设计)兼容,而Office Excel文档并不是透明的。为了这个兼容,开发者需要在黑盒模式下各种大胆猜测小心调试,还要承担“只要有问题就是你的问题”的巨大压力。同时,背负上了带着别人的历史追赶别人进步的重任。
而在目前 Excel 已有的 480 多种函数公式中,SpreadJS已经支持 450 种以上。
具体讲讲几个可以帮助开发人员在自己的系统中实现Excel的功能:
• 贴近Excel的应用
其实,上面所讲的Excel兼容性就是SpreadJS最令笔者惊喜的特性之一。因为很多企业的历史数据等都是留存在Excel格式的文件中的,这种能够直接导入和导出Excel文件的特点极大的方便了企业对留存数据的存储、整理和应用。
而且,作为控件,企业完全可以用SpreadJS完美嵌入到自己的OA、账务、生产等系统中使用,轻松的将数据导出为指定模板的Excel文件,进行复用。在笔者的试用中,不论从页面还是功能都与Excel几乎一致,要不是在Web端,笔者甚至以为自己在使用Excel。这将极大的减少企业员工的学习成本,极快上手。
而对于开发人员来说,在帮助企业进行业务应用设计时,通过 SpreadJS 提供的类似 Excel模板设计器,可以轻松的设计模板,节约应用程序开发所需的时间和精力。仅用不超过100行代码,就可以实现Excel的全部功能,各行业人员均可通过 Excel 软件制作表格,然后轻松导入 SpreadJS 中,提升模板复用性。
“公司的项目管理系统需要使用 SpreadJS 做一个通用的 Excel 模板设计器,将此前自定制的组件通过 SpreadJS 进行集成,用拖拽的方式在 SpreadJS 的表格编辑器界面进行展示和配置,以便生成一套能够自行设计出数据填报、数据可视化甚至是 BI 的 Excel 模板。”
——天津卡达克数据有限公司
• Form表单填报
填报就是提前设计好表单的样式,在web端展示,分发给别人或者嵌入到别的软件网页,来收集数据,方便存入(数据)库,就像注册网站填入你的个人信息,发送到后台,同步到数据库。
SpreadJS 内置桌面端和 Web 端的在线表格编辑器,支持用户填报模块。通过SpreadJS 内置的多种单元格类型,如按钮、单复选、下拉列表、单元格内的公式引用、数据验证等均能有效的完成表单相关功能。这种提前设计好报表样式收集数据入库,然后导出的方式,能省去很多工作量。
“SpreadJS 表单控件主要应用于本项目中各类工资表格的展示、编辑和查询,最后用于汇总生成各类报表并进行展示。我们的体会是,使用 SpreadJS 我们可以轻松设计模板,节约应用程序开发所需的时间和精力。无需编码,财务、人事管理人员均可通过 Excel 软件设计界面,设计计算公式,然后轻松导入设计器或 SpreadJS 中,就可实现模板重用。这大大减轻了工作强度,使得快速开发得以实现。SpreadJS 加载速度快,对内部管理系统无压力。并且生成报表和网页打印报表这些麻烦事儿,SpreadJS 都很好的解决了!”
——中国民用航空飞行学院
• Grid表格数据处理
相比其他电子表格,SpreadJS 提供更全面的内置公式和自定义函数,可针对大数据和复杂计算进行优化,即可为复杂的公式增加计算能力,又不会过多地占用系统资源。
而且,在进行数据展示时,不论是自动排序、筛选、行表头、列表头、汇总、边框和单元格样式等功能,还是进行分组、查找、聚合、公式等操作,SpreadJS均可满足。
“SpreadJS 是一个基于 HTML5 技术的纯 JavaScript 控件。不但提供了更高的渲染性能和更流畅的界面操作,此外,SpreadJS 通过一个高效的数据模型来快速操作数据,使得载入和操作超百万行数据变得更为方便且快捷。”
——中国能建安徽电建二公司
• 数据可视化
在企业进行数据资产管理时,很常见的一个任务就是数据可视化,这样才能获得关于数据的形象化展示。而SpreadJS 除已完全兼容 Excel 的 92 种图表外,还具备了更全面的商业智能分析(数据透视表)和更易于开发使用的自定义扩展能力,并实现了公式的完全自定义。同时已经实现了诸多类 Excel 的内置形状,如线条、矩形、箭头、流程图,可以为前端界面添加更多的细节展现和可视化效果,并且这些内置的形状都可以无缝的进行导入和导出。而即将在十月份推出的升级版新功能中,也新增了形状(Shape)、富文本、二维码以及多个新图表类型。
“通过 SpreadJS‘可嵌入用户操作系统,开发在线Excel’的产品概念,以及葡萄城纯前端数据处理技术在各领域应用中取得的核心成果,我们的技术专家无一不对葡萄城SpreadJS 纯前端表格控件新颖的设计理念和可靠的产品性能表示赞叹。”
——北京神舟航天软件技术有限公司
SpreadJS高度类似Excel的在线表格编辑器界面
对于代码能力不强的开发者来说,仅通过简单拖拽点击,就可以利用SpreadJS方便的实现表格模板设计、数据填报、数据统计、数据管理、数据呈现等功能;而对于代码能力较强的开发者来说,SpreadJS提供源代码,方便其进行自由定制和任意扩展。
这也是SpreadJS 获得了众多客户认可的原因。
比如华为2012实验室。
3、所以,选择SpreadJS是意料之中
华为2012实验室是华为技术有限公司的总研究组织,据称,该实验室的名字来自于任正非在观看《2012》电影后的畅想,他认为未来信息爆炸会像数字洪水一样,华为要想在未来生存发展就得构造自己的“诺亚方舟”。其研究领域涉及新一代通信、云计算、音频视频分析、数据挖掘和机器学习等,重点面向未来5-10年中国工业互联网的发展方向,不仅代表国内最顶级的研究水平,还为全球高新技术发展产生了源源不断的推动力。
SpreadJS 在华为某项目中的应用截图
说起华为和SpreadJS的缘起,也有那么些故事性。
在华为一年一度的内部产品赛上,一位开发小哥用SpreadJS做了个应用,竟然获得了很高名次的奖项,它也因此在内部的论坛和采购平台上火了一把。接触并尝试SpreadJS的部门在使用一段时间后都开始自发安利这个控件,慢慢越来越多的部门开始使用SpreadJS。
而SpreadJS当然不会让他们失望。
首先,SpreadJS帮助他们实现了内部表格数据处理。
华为2012实验室的实验部门遍布全球各地,已经在欧洲、印度、美国、俄罗斯、加拿大、日本设立8个重要的海外研究所。随着新研究所的建立和各个研究所间数据交流的程度越来越密集,建立一整套统一、安全、快捷的数据管理机制显得格外重要。
很多部门此前重度依赖 Excel 作为前期调研、资料收集、交换,方案设计 + 审定的核心工具,积攒大量的 Excel 文件需要进行导入导出并现场打印,而用SpreadJS开发出的Web Excel模块,可以完美兼容Excel文件,并无损导入导出,提升了Excel模块的复用性和新老系统的迁移工作,同时借助SpreadJS开发的模块与Excel UI高度一致,用户无需学习新系统,即可快速上手使用。
因此,SpreadJS真正无缝兼容Excel文档且支持Excel格式导入导出的特征,让它很好地帮助华为2012实验室进行日常维护管理数据。
其次,SpreadJS中大量的公式函数和自定义函数功能,满足了他们的项目需求。
SpreadJS能满足Excel公式的完美兼容,兼具强大的数据聚合能力和跨表格引用、自定义函数的能力。
“简单的一百多行代码配合 SpreadJS 的类 Excel 操作习惯,让我们的用户就像使用 Excel 一样使用内部系统,也为我们系统开发完成后的用户迁移工作节约了大量培训时间,SpreadJS 优秀的性能让我们高枕无忧。”华为2012实验室的相关负责人坦言。
纯前端表格控件SpreadJS打破传统代码编写方式,将开发回归简捷高效,快速实现用户需求,解决企业个性化需求与标准化生产的矛盾,让企业更专注于发展和创新,势必将成为未来企业数字化进程中的重要开发工具之一。
纯前端表格控件SpreadJS以专注业务、提升效率赢得用户与市场的更多相关文章
- 纯前端表格控件SpreadJS V12.1 隆重登场,专注易用性,提升用户体验
一款优秀的开发工具,在更新迭代中,除了要满足不同场景的业务需求,也需不断优化已有功能,尤其是细节方面,要能为用户带来使用体验和开发效率的提升. 作为一款备受业界专家和开发者认可的纯前端类Excel ...
- SpreadJS 纯前端表格控件 V12.2 发布更新
用不到100行代码,在前端实现Excel的全部功能 千万前端开发者翘首企盼,SpreadJS V12.2 终发布更新:六大功能特性,带来更多便利,用不到100行代码,在前端实现Excel的全部功能! ...
- 【新功能前瞻】SpreadJS 纯前端表格控件V12.2:打印增强、拖拽填充等六大特性
新版本来袭:葡萄城 SpreadJS 纯前端表格控件的全新版本 V12.2 将于8月正式发布! 作为一款备受华为.招商银行.中国平安.苏宁易购等行业专家和前端开发者认可的纯 JavaScript 电子 ...
- 【案例分享】在 React 框架中使用 SpreadJS 纯前端表格控件
[案例分享]在 React 框架中使用 SpreadJS 纯前端表格控件 本期葡萄城公开课,将由国电联合动力技术有限公司,资深前端开发工程师——李林慧女士,与大家在线分享“在 React 框架中使用 ...
- 从 .NET 到 JavaScript —— 纯前端报表控件 ActiveReportsJS 焕新登场
报表工具的发展史,最早可以追溯到微软报表SSRS(SQL Server Reporting Services)时期.最初,报表工具主要应用于报表的定制.呈现和输出.经过几十年的发展,随着各种业务系统功 ...
- 葡萄城首席架构师:前端开发与Web表格控件技术解读
讲师:Issam Elbaytam,葡萄城集团全球首席架构师(Chief Software Architect of GrapeCity Global).曾任 Data Dynamics.Inc 创始 ...
- Spread.NET 表格控件 V12.0 Update2 发布更新
Spread.NET表格控件V12.0 Update 2 已经正式发布,本次发布主要针对WinForm平台下客户反馈的产品使用功能进行优化,并修复了已知问题,具体修复情况见下方说明. Spread.N ...
- 基于纯前端类Excel表格控件实现在线损益表应用
财务报表也称对外会计报表,是会计主体对外提供的反映企业或预算单位一定时期资金.利润状况的会计报表,由资产负债表.损益表.现金流量表或财务状况变动表.附表和附注构成.财务报表是财务报告的主要部分,不包括 ...
- SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)
做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...
随机推荐
- BZOJ 3782: 上学路 Lucas+ExCRT+容斥+dp
其实呢,扩展中国剩余定理还有一种理解方式:就是你有一坨东西,形如:$A[i]\equiv B[i](mod$ $P[i])$. 对于这个东西,你可以这么思考:如果最后能求出一个解,那么这个解的增量一定 ...
- TTTTTTTTTTTTT CDOJ 1136 邱老师玩游戏 树形dp
邱老师玩游戏 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit St ...
- BZOJ 4823 Luogu P3756 [CQOI2017]老C的方块 (网络流、最小割)
题目链接 (Luogu) https://www.luogu.org/problem/P3756 (BZOJ) http://lydsy.com/JudgeOnline/problem.php?id= ...
- 修改hive 默认fs为s3 遇到的坑
问题: hive我修改了 默认的f <property> <name>fs.defaultFS</name> <value>hdfs://...:802 ...
- BZOJ1123 BLO
割点的好题. 联通图,难度降低.首先对于一个点,如果他不是割点,那它的贡献是2*(n-1),就是任何一个其他节点都少了正反两个数对,这个看样例可以看出来. 如果它是一个割点,去掉他以后会出现若干个联通 ...
- 20175215 2018-2019-2 第九周java课程学习总结
第十一章 JDBC与MySQL数据库 11.1 MySQL数据库管理系统 下载安装过程略 使用的是MySQL 5.6而非5.7 11.2 启动MySQL数据库服务器 启动和root用户过程略 11.3 ...
- IP输出 之 ip_local_out
概述 将要从本地发出的数据包,会在构造了ip头之后,调用ip_local_out函数,该函数设置数据包的总长度和校验和,然后经过netfilter的LOCAL_OUT钩子点进行检查过滤,如果通过,则调 ...
- Ubuntu的root用户通过SSH登录的解决方法
通过ISO镜像安装完ubuntu 系统后,我们不能直接使用putty或其他远程工具通过SSH方式连接到linux系统 原因: linux 系统上没有安装远程工具openssh-server 解决方法: ...
- RBAC 权限模型
RBAC 0 模型 最基本的 MySQL 脚本,没有建立外键约束. /* Navicat Premium Data Transfer Source Server Type : MySQL Source ...
- Druid连接池(无框架)
关于连接池有不少技术可以用,例如c3p0,druid等等,因为druid有监控平台,性能在同类产品中算top0的.所以我采用的事druid连接池. 首先熟悉一个技术,我们要搞明白,为什么要用他, 他能 ...