游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Vue3组件开发(三)搭建表格编辑系统功能拓展

  通过环境搭建和组件集成,我们学会使用Vite和SpreadJS,将在线Excel的编辑功能集成在Vue3项目中。
  本章,我将带领大家继续扩展Vue3这个项目原型,实现数据绑定、模板文件导入更新导出和数据透视表等功能,本章的实现思路与上一篇(组件集成)基本类似。设计思路同时创建SpreadJS和Designer(表格编辑器)两个组件,用切换路由的方式显示不同组件类型。在编辑器组件的工具栏中增加加载和更新两个按钮。点击加载即可加载从服务器获取的Excel文件,在编辑器中对该组件做一些修改,点击更新按钮,将修改后的文件传递给服务器。切换路由显示SpreadJS组件,在该组件添加加载和更新两个button,功能同上。SpreadJS组件介绍
  SpreadJS是一款基于HTML5的原生JavaScript组件,兼容450种以上的Excel公式,提供高度类似Excel的功能,主要用于开发WebExcel组件,实现多人协同编辑、高性能模板设计和数据填报等功能模块,组件架构符合UMD规范,可以以原生的方式嵌入各类应用,并与前后端技术框架相结合。
  集成SpreadJS组件
  首先在componentsSpreadSheet。vue中集成SpreadJS,代码如下图所示:templatetemplate
  具备步骤如下:
  1。在模板中添加一个p,这个p就是spread的容器,可以通过css设置容器的宽高位置等,也就是自定义了spread的显示大小及位置。
  2。导入此组件所需要的依赖。
  3。在setup方法中新建一个spread。
  4。在viewsSpreadSheet。vue中引入该组件及相关依赖。importSpreadSheetsfrom。。componentsSpreadSheets。vueimport{ref}fromvueimportaxiosfromaxiosimportGCfromgrapecityspreadsheetsimportExcelIOfromgrapecityspreadexcelio
  5。在模板中使用该组件标签templatebuttonclickload(event)加载buttonbuttonclickupdate(event)更新buttonSpreadSheetsvon:workbookInitializedworkbookInitializedSpreadSheetstemplate
  6。在setup函数中初始化spread。letworkbookundefined;letworkbookInitialized(wb){workbookwb}功能扩展:Excel文档导入更新导出
  Excel文档的导入更新导出功能可通过自定义加载、更新和导出按钮实现,在SpreadSheet组件中添加自定义按钮的思路,与上篇designer组件的设计思路一致:Load方法执行excel文件的加载,接收到后台传递的json数据后,即使用fromJSON方法加载该文件。letload(e){letformDatanewFormData();formData。append(fileName,path);axios。post(spreadloadTemplate,formData,{responseType:json,})。then((response){if(response){alert(加载成功);templateJSONresponse。data;workbook。fromJSON(templateJSON);}})。catch((response){alert(错误);})}Update执行文件的更新。在设计器对加载的文件做些操作,如修改背景色、添加文本等,使用toJSON方法当前spread保存为json数据传递给后台存储。letupdate(e){letspreadJSONJSON。stringify(workbook。toJSON());letformDatanewFormData();formData。append(jsonString,spreadJSON);formData。append(fileName,fileName);axios。post(spreadupdateTemplate,formData)。then((response){if(response){alert(更新成功);}})。catch((response){alert(错误);})}Save方法执行将spreadjson导出为excel文件。exportSpreadJSjsontoexcelfileexcelio。save(json,function(blob){dowhateveryouwantwithblobsuchasyoucansaveit},function(e){processerrorconsole。log(e);});功能扩展:数据透视表
  SpreadJS内置了数据透视表功能,通过将其集成到项目中,便可以使用数据透视表,该表支持排序、过滤等条件格式,可以按不同维度分析数据,并且可以自定义主题。
  SpreadJS的数据透视表支持两种格式的数据源:tablename:数据透视表使用一个表格的名字去获取数据源。rangeformula:数据透视表使用工作表的一个范围公式获取数据,这个范围公式必须是工作表的绝对路径。
  若使用数据透视表,需要添加如下链接到文档的开始部分:head。。。head
  使用一个表格的名称去创建数据透视表:letspreadnewGC。Spread。Sheets。Workbook(document。getElementById(ss),{sheetCount:2});letsheet1spread。getSheet(0);letsheet2spread。getSheet(1);sheet1。setRowCount(250);lettablesheet。tables。add(table1,0,0,200,200);sheet1。setArray(0,0,pivotSales);letpivotTablesheet2。pivotTables。add(PivotTable,table1,0,0,GC。Spread。Pivot。PivotTableLayoutType。outline,GC。Spread。Pivot。PivotTableThemes。medium2);
  也可使用工作表的一个范围公式创建数据透视表:letrangeSheet2!A1:D4;letpivotTablesheet2。pivotTables。add(PivotTable,range,0,0,GC。Spread。Pivot。PivotTableLayoutType。outline,GC。Spread。Pivot。PivotTableThemes。medium2);
  通过切换路由可以看到SpreadJS与在线表格编辑器可以正常切换显示。在编辑器中修改加载的Excel文件,点击工具栏更新按钮,再切换至SpreadJS组件,点击加载按钮便可以看到刚才所修改的文件已被更新。
  以上就是在Vue3中集成SpreadJS与在线表格编辑器的全部内容,除了Vue,SpreadJS还可以原生的方式嵌入各类应用(桌面软件、app、web),并与各类前后端技术框架(java、。NET、JavaScript、Vue、React等)相结合。
  通过集成SpreadJS,开发者可研发出高性能的公式计算、在线导入导出Excel文档、数据透视表和可视化分析功能,为系统使用者提供灵活易用的用户体验。
  欢迎点击下方了解更多获取更多技术详情。

Jennie的小熊帽太火了!巨暖巨可爱,没有人可以拒绝啊现在早上的风吹得我脑壳冷冰冰的,实在有点扛不住,看来帽子和围巾是时候安排上了比如这款今年最火的Jennie上过热搜的那个小熊帽。小熊帽也就是围巾一体帽啦,包裹性超强……为什么USB3。0的缺失对小米10Pro来说是遗憾?在今年发布的新机中,ufs3。0甚至3。1都被拿出来做卖点。不过usb3。0这个指标很少再被提及了,这也是意料之中,毕竟主流的安卓旗舰基本除了小米都用上了USB3。0是的……苹果新AR头戴设备出炉,极简与普通眼镜无异,库克想我免费送?相信大家在电影中也经常看到,一个人通过跟踪眼球视线轨迹判断用户处于的状态,并且可以开启相应功能的场景,而这一直被大家当成是很难实现的东西。不过近日的爆料表示苹果的技术将能……驿站好物清单,让你体验幸福感爆棚的居家生活居家生活不将就邀您进入WX:驿站优质生活馆满载各种生活好物而归驛站居家好物清单二十年进出口经验,严选欧洲家居生活好物营造舒适理想的居家生活I……16999索尼正式发布a7m4索尼全画幅新基准索尼微单Alpha7IV发布2021年10月21日,索尼(中国)有限公司正式发布了全画幅微单新品Alpha7IV(型号名:ILCE7M4),以及两款闪光灯……世上最硬核的6寸迷你PC,首发UbuntuMATE使用体验GPDMicorPC是一台6寸的工程师专用电脑,其自带的RS232RJ45等专业接口主要用来调试各种行业设备,MicroPC出厂预装Windows10专业版正版系统,当然为了满……20200112张氏企业家俱乐部简报走进广州无疾源健康公司交2020年1月12日下午,大中华区张氏企业家联盟无疾源(国际)健康食品研发有限公司花都运营中心感恩交流会在广州花都区新华街建设北路207号汉城国际301~303举行。大中华区张……领英暂停中国会员注册,外贸人应该怎么办?3月10日消息,微软旗下职业社交网站领英(LinkedIn)周二称,为了确保公司遵守当地法律,公司将暂停在中国的新会员注册。领英暂停中国境内的新用户注册!?What……终端机嵌入式条形码扫描器条码技术的蓬勃发展,随之带动了条形码扫描模组应用解决方案的落地应用,生活中不难发现,尤其以高集成二维码识别器应用为代表延伸出一系列带有扫码功能的自助终端机,共同协同完成自助操作……Hexo实战001快速搭建属于自己个人博客巧遇Hexo在此之前还没听说过Hexo,也不知道Hexo是干什么的。朋友说他买个了服务器想搭建一个博客记录下开发心得,但是自己构建一个网站耗时太长也没那么多精力所以就想找……周鸿祎称比马化腾还会写代码,大佬里编程能力排前三,你怎么看?在互联网行业程序员出身的大佬们,谁的编程能力最强?要码君说,除非把他们拉出来比一比,否则那可真是人嘴两张皮各说各有理了。但是在前几天的程序员节上,360创始人周鸿祎……1599元也能上4800万索尼IMX586RedmiNote3月18日,Redmi在北京泰山饭店正式发布了Redmi7RedmiNote7Pro两款机型,同时扩展了旗下产品种类,RedmiAirDots无线耳机和Redmi全自动波轮洗衣……
异种肾移植(移植动物的肾脏)方面又有好消息,好事频出啊刚接到新的植入人工肾方面的喜讯:可植入人工肾脏,又有什么研究进展?没想到在异种肾移植方面的曙光又出现了!好事频出啊!其实,机器代替肾脏始终没有完整的肾脏好,因……B端网站关键词选得好,精准流量没得跑【新网建站资讯】对于ToB企业,什么是B端关键词?与C端关键词的区别是什么?先来认识认识B端关键词:我们熟知的B2B关键词通常说的是目标客户(如厂家、批发商企业、供……ChipStation您身边的智能固件升级管家您是否遇到这些困扰库存风险原厂OEM固件升级,库存产品无法及时更新,面临滞销客户流失客户无法购买到最新版本的产品时,将另寻供应商,引发后续订单告吹成本增加产品返厂升级,需为此额……君子兰不长叶的原因和解决方法君子兰有一个特性,您去换盆的时候换的盆比较大,它会先在盆土里边长根系,根系长得足够多了以后再去长叶片,如果您用非常大的盆,他的根一直在生长。没有达到它合适的条件,它只会长根系,……对华关税,美国企业承担90以上,为啥搬起石头砸自己的脚?中美关税的负担者华说做生意的人很喜欢算账,因为算了账,才会知道是亏了还是赚了。美国穆迪投资者服务公司近来算了一笔账。美国消费者新闻与商业频道(CNBC)报道说,该公……骁龙870可以用五年吗?手机的使用年限其实不知在芯片的性能持久力上,而是在整体。骁龙870可以用五年吗?按照性能来说是没有问题的,但还是得综合考虑它的使用情况。比如说:五年中,你的屏……vivo新OS即将亮相开发者大会,该有的都有了今天vivo正式官宣了一个好消息,vivo开发者大会将于11。19在深圳举办,届时vivo新OS也将一同亮相,并且这个也是网友最为关心的,关于这个vivo新OS,有数码博主也曝……iPhone13动手玩iPhone12S这个名字更适合它伴随转场动画以及加州著名风景和标志性建筑,MarlenaShaw那首经典的《CaliforniaSoul》响起,苹果秋季发布会终于到来,这可能是整场发布会最精彩的部分,后面像例……大数据学习需要学历吗?大数据学习需要学历吗?近年来,随着大数据市场规模的增长,很多人看到了藏在大数据之中的机遇,非大数据行业的小白想要进入到这一行业选择学习大数据技术,有的学历不够高的就会问到……索尼PSP的编年史PSP是日本索尼公司开发的多功能掌机,2004年12月12日,索尼发布了第一款PSP,这款多功能游戏机在当时发售时,晚于其竞争对手任天堂NDS掌机一个月,但是人们依旧被PSP当……5G网络那么快,今后路由器没有存在的价值了?宽带也没用了?谢邀!5G是无线网络,路由器是有线网络,在现有的技术条件下有线网络的网速肯定比无线网络快很多。而且随着电视、手机屏幕分辨率越来越高,在线视频的体积也会越来越大,对网速的要求也越……DockerPHP入门实践(三)第三章。创建一个ThinkPHP应用程序在本教程的其余部分,我们将基于ThinkPHP框架完成一个天气查询的应用。使用天气查询API文档开发指南Web服务API高德地图A……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网