SpreadJS进阶培训感想与心得 2023年7月25日-7月27日我参加了由西安葡萄城举办的为期3天的SpreadJS进阶培训课程, 参加本次进阶培训的缘由是想在SpreadJS的理解, 认识和技能上更进一步, 其次是我们公司在对SpreadJS的一个长期使用下来, 发现了一些问题, 然后在跟葡萄城的一个反复沟通下来, 原来问题主要出现在我们自己身上, 最主要的原因还是对SpreadJS的理解不够透彻, 不知道它的主要的核心功能点, 从而没有找到一个正确使用方式, 刚好葡萄城正在开展一个为期3天的进阶培训课程, 然后就报名参加了, 想在本次培训过程中加深对SpreadJS的理解,认识到它的核心要领, 掌握它的一个正确使用方式, 以及想要借鉴其他客户的优秀案例从而让我们在使用SpreadJS的过程中得到好的启发和思路。 本次培训主要有两个讲师,分别是姚讲师和窦讲师,前期姚讲师主要就SpreadJS的底层逻辑,实现方式,给我们做了大致的讲解, 又说明了SpreadJS,编辑器和GCExcel它们三者的一个区别,然后还讲了一些能够使表格性能提升和优化的方案以及注意事项,最后讲解了一些SpreadJS的强大功能点:例如:表格的输入输出,导入导出,数据绑定,单元格富文本,表格权限,数据校验和诸多事件等等,不仅增强了我们对SpreadJS的理解, 还让我们认识到了SpraedJS的复杂且强大的功能。 窦讲师在接下来的一天半的时间里给我们耐心且详尽的讲解了SpreadJS中的样式,图表和公式,还有编辑器中的可视化操作功能。在课程的最后,窦讲师带着我们搭建了一个在线填报系统的综合应用,利用这个应用,我们可以快速得进行模板的上传与设计,设计好模板之后, 再导入该模板绑定好数据源从而实现数据的正常显示,最后还能实现模板数据与文件的导出,分析与打印的功能。通过这个综合应用,我了解到了这个填报系统与我们公司开发的填报功能的差异,也认识到了我们系统的填报功能的不足,这是一个很好的借鉴方式。 下面就几个我关注的知识点说下心得: 1.默认样式 defaultStyle 之前不太了解单元格的默认样式,只知道new Style和getActualStyle,现在了解了这个默认样式的存在,并且了解到了各个样式之间的一个优先级。 2.clipboardPasting事件和dragFillBlock事件 之前没有接触过这两个事件,更多的用到了valueChanged和rangeChanged,但是这两个事件有很多无法满足业务需求的情况,这个时候就需要用到例如复制粘贴,拖拽,开始编辑editStarting等等的事件来满足需求。 3.右键菜单 之前也有接触过右键菜单,不过更多是将右键菜单隐藏或者删除,而随着业务的复杂,需要对右键菜单做一些定制化,这个时候就需要重写在线表格内置的一些菜单,比如插入行,复制行等等。而且还知道了重写的一个步骤,先定义一个菜单为菜单命名,指定命令command,然后定义command,实现execute方法,最后将该菜单注册到命令管理器中。 4.公式的绝对引用 相对引用 知道了公式引用的四种格式: A1、$A$1、$A1、A$1,也学到了一个记住它的一个 诀窍:见钱眼开,看见美元就不动。 5.条件格式 了解了条件格式管理器conditionalFormats,还有管理器的新增格式和规则的方法如: cfs.addCellValueRule和cfs.addFormulaRule 6.单元格状态 了解了单元格都有一个状态, 比如鼠标悬停在某个单元格上的时候, 这个单元格的状态就是hover, 当然还有其他的诸多状态例如: active, edit, dirty ... 7.异步公式 知道了异步公式的一个概念, 当数据是从服务器端请求过来的时候, 这种异步公式就显得很有用处。 8.命令管理器commandManager 如果想要通过代码来实现鼠标右键复制粘贴等方法的时候, 可以直接调用commandManager的execute方法来实现: spread.commandManager().execute({cmd:"copy", sheetName:sheet.name(), [options]})当然还有一些知识点如: 在线表格的命名信息, 名称样式等, 随着两位讲师的讲解, 也有一个大致的印象和了解, 通过这个培训, 了解到了自己的不足, 在线表格SpreadJS还有很多强大的功能没有接触到。希望后面可以更多认识和学习到它的功能。 总结: 由于时间和地理因素, 没能去到线下参加这个培训, 是一个遗憾, 在线上培训的过程中, 也有一些公司内其他的时候要处理, 可能没办法全身心的投入到课程的学习当中, 当天的培训结束后, 我们的培训负责人还会贴心的把教学ppt及时分享给我们, 当然也会留一下随堂作业, 总的来说, 3天的培训收获很多, 非常感谢葡萄城的两位讲师及相关人员让我们能有幸参加这次培训。 |