如何开发一款在线excel表格系统(上)

葡萄城技术团队 葡萄城技术团队     2022-11-29     172

关键词:

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。
在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。

Vue3

2020年09月18日Vue.js 3.0发布,经历了两年时间的对细节的不断优化与调整,终于在今年2月正式成为新的默认版本。其作者尤雨溪将Vue3的目标描述为:
1、更快
2、更小
3、更易于维护
4、原生目标更容易
5、开发更轻松
只看上述内容,你可能感受不到Vue3究竟优化了什么。这里我们将它和Vue2来对比一下,为大家具体说明它的优越之处。

性能的提升

在官方文档中针对Vue2和Vue3之间的性能差异有具体的数据介绍:
1、SSR速度提高了2~3倍
2、Update性能提高1.3~2倍
其中性能提升的重要一点是Vue3中对diff算法进行了优化。
在Vue2中,每当数据发生变化,就会生成一个新的DOM树,并新DOM树与旧的DOM树进行对比,来判断节点异同,并进行更新。但完整遍历过程需要将两棵树所有节点进行比较,但实际情况中并不是所有节点内容都会变化,这就造成了性能的浪费。
Vue3新增了静态标记,仅对标记了的节点进行对比并进一步更新,无需再遍历整个节点,实现了性能提升。

组合式API

Vue2使用选项型API(Options API),这种方式下将代码分割为不同的属性:data、computed、methods 等,这些方法属性各司其职。
举个例子,当我们想实现一个列表视图功能,需要在data中写此功能相关的数据,在methods中写相关的逻辑判断和后端交互方法等;如果还希望有搜索和筛选,或者更多的功能,那么逻辑关注点会越来越多,导致组件变得难以理解和维护。(下图为示例组件)

组合式API(Composition API)正是为了解决原本Vue2项目中代码逻辑分散、不易理解和维护的问题。它使用方法(function)进行代码分割,使代码更为简洁。

生命周期函数变更

与Vue2相比,Vue3中生命周期函数也发生了变更,总结如下:

有需要的同学可以截图保存,以备不时之需。

按需打包模块

在Vue项目中有众多API和模块,但在一个项目中我们并不会用到全部内容, Vue3的按需打包模块,可以大幅度压缩打包后的内容体积。
根据官网对比示例,Vue2中如果仅写了Hello Word,未用到任何模块API,打包后大小约为32KB;而Vue3同理,打包后大小约为13.5KB,可以明显看出升级后的Vue3相较于Vue2打包体积大幅减小。
说完了Vue3的改进,接下来我们来看看Vite又有什么亮眼之处。

Vite

在Vue3正式发布之前,尤雨溪就提到做了一个新的前端构建工具-Vite。其本人更是对Vite青睐有加,引得Webpack开发者直喊大哥:

Vite究竟有什么样的魔力呢?它做到了本地快速开发启动:

  1. 快速冷启动,而不需要等待打包操作
  2. 即时的模块热更新
  3. 真正的按需编译,不用等待整个项目编译完成、

在使用Webpack时,会经历分析依赖 => 编译打包 => 交给开发服务器渲染 整个过程。也就是说,需要先打包,之后将打包结果提供给服务器进行加载。特别是随着模块的不断增多,打包的体积越来越大,造成热更新速度明显拖慢。
而Vite直接略过了打包步骤,直接启动开发服务器,请求具体的模块时再对该模块进行实时编译,大大提高了启动速度。

尤雨溪本人也在微博发言解释了其原理:“Vite,一个基于浏览器原生 ES imports 的开发服务器。利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随起随用。同时不仅有 Vue 文件支持,还搞定了热更新,而且热更新的速度不会随着模块增多而变慢。针对生产环境则可以把同一份代码用 rollup 打。虽然现在还比较粗糙,但这个方向我觉得是有潜力的,做得好可以彻底解决改一行代码等半天热更新的问题。”
(Vite具体的实现原理可参考文章:https://juejin.cn/post/6844904136299790349

到这里我们已经详细为大家介绍了Vue3升级的亮眼功能和Vite的优势,在下部分中我们会以项目实例出发,为大家介绍如何如何开发一款基于 Vite+Vue3 的在线表格系统。
感兴趣的小伙伴们不要错过~

如何开发一款基于vite+vue3的在线excel表格系统(上)

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。Vue32020年09月18日Vue.js3.0发布,经历了两年时间的对细节的不断优化与调整,终... 查看详情

如何开发一款基于vite+vue3的在线表格系统(上)

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。Vue3Vue是什么?大多前端开发者对这个词已毫不陌生了。三大框架孰优孰劣,众... 查看详情

如何开发一款基于vite+vue3的在线表格系统(上)

今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统。在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3。Vue3Vue是什么?大多前端开发者对这个词已毫不陌生了。三大框架孰优孰劣,众... 查看详情

如何开发一款基于vite+vue3的在线表格系统(下)(代码片段)

在上篇内容中我们为大家分享了详细介绍Vue3和Vite的相关内容。在本篇中我们将从项目实战出发带大家了解Vite+Vue3的在线表格系统的构建。使用Vite初始化Vue3项目在这里需要注意:根据官网文档说明,使用Vite需要node版... 查看详情

如何开发一款基于vite+vue3的在线表格系统(下)(代码片段)

在上篇内容中我们为大家分享了详细介绍Vue3和Vite的相关内容。在本篇中我们将从项目实战出发带大家了解Vite+Vue3的在线表格系统的构建。使用Vite初始化Vue3项目在这里需要注意:根据官网文档说明,使用Vite需要node版... 查看详情

一款功能强大的在线表格——蜘蛛表格

...品。笔者为了工作需要也尝试过一些,在这里给大家安利一款超好用的在线表格——蜘蛛表格。推荐使用蜘蛛表格的原因有以下几点:1.界面简洁、功能轻量好用蜘蛛表格界面并不追求酷炫、眼花缭乱,反而简洁明了、一目了然... 查看详情

如何在网页中嵌入excel控件,实现excel的在线编辑?

一般通过邮件附件发送文件的方式分享excel表格,想把一个excel表格分享给更多人时,只要把表格嵌入在网页里将是一个再好不过的方法。我们在后台对excle表格里的数据进行修改后,网页上嵌入的表格也可以自动更新.具体步骤... 查看详情

如何实现在网页中在线编辑excel表格,然后保存到服务器中

...多很多,但是跟题主的需求不太符合,其实我们想要的是如何在我们的系统中去实现这样的功能,而不是给我一个成品去用。不过我也看了一下你们的产品,还是蛮用心去做的,如果方便能够告知你们使用的什么技术来实现的 查看详情

如何将excel表格转成在线文档

通过文档的转换工具,可以将excel格式直接转为word文档,而且是将excel工作簿中的所有表格同时进行转换。首先在转换器中选择文件转word的转换类型,通过这个选项可以把我们常见的excel,ppt以及pdf文件转换成为word文档的格式。... 查看详情

想开发类似googledocs的在线文档编辑软件,有没有啥好方法?

    据我所知,开发一套具有Excel基本功能的"在线Excel文档系统"的难度并不大,为什么这么说呢?实现在线Excel文档的核心难点在于在线Excel表格以及Excel相关的表格处理功能的开发。这些都可以通过引入第三方的控件来实现,... 查看详情

excel如何将新的表格覆盖在旧表格上,且保留旧表格的数据

参考技术A1、首先在电脑上打开一个excel文档,按照要求输入需要的一些内容。2、然后右键点击界面上方的小三角形,出现新的菜单栏,找到并点击“复制”选项即可完成。3、然后新建一个空白的表格文档。4、然后选择“粘贴... 查看详情

如何把图片里的表格提取出来图片转表格

如何快速识别并提取图片中的表格,下面来看一下如何操作吧。1、首先打开QQ程序,将表格图片发到聊天窗口中。2、鼠标放到图片上,右键点击提取图中文字。3、识别完成后,点击转为在线文档。4、点击登录腾讯文档,即会自... 查看详情

excel表格数据丢失如何快速恢复?

Excel是工作中使用最多的表格程序,如果不小心遇到一些突然断电等意外的情况,工作中的数据没有来得及保存,这样表格数据还能会在吗,表格数据丢失了可以恢复吗?EasyRecovery数据恢复软件是一款功能十分强大而全面的软件... 查看详情

还在用excel做管理?安利一款简单灵活,又能满足高要求的在线表格

现代化办公对时效性、数据安全性、稳定性都有很高要求现在的企业们在追求效率的同时,对数据安全性、稳定性等提出了前所未有高要求,在那些重视管理的企业里,一切的决策都围绕着数据进行,希望可以用到比较可续鞥多... 查看详情

基于luckysheet在线表格的excel下载功能开发(代码片段)

最近开发的项目中使用到了一个非常强大的在线表格展示库Luckysheet下面记录一下基于luckysheet的下载功能的开发第一步:获取到要下载的数据。LuckySheet给我们提供了一个获取所有sheet数据的方法luckysheet.getluckysheetfile(),通过该方... 查看详情

在线excel编辑器-luckysheet

...些产品都很好,但是要么未开源,要么收费,那么有没有一款开源免费的在线excel,供我们使用?当然是肯定的,它就是Luckysheet,完全开源且免费“我们决心制作一个功能最丰富,配置和使用最简单的开源电子表格-Luckysheet,为... 查看详情

在线表格系统蜘蛛表格企业版:服务上千家企业

...职员在使用过蜘蛛表格后都放弃了原来传统的工作方式。在线操作,数据同步蜘蛛表格基于互联网,将表格与表单打通,通过一个链接就能轻松地进行数据收集与共享。简单地说就是,公司员工们用各自的电脑同时打开一张在线... 查看详情

如何实现在网络上由各单位填写excle表格以方便汇总。

我总公司常有些excle表格要下面的五十个单位填报,之前是将表格发给下面的单位填写后,我来汇总,现想是否可类似在网络上建这样的excle表格,下面的单位可通过用户名及密码登录填写,这样我汇总就不要一个一个单位复制... 查看详情