download:前端共学会:学习|成长|工作|职业,综合服务社区
先来看看SpreadJS是什么?
SpreadJS是一款类Excel的前端表格控件,操作及功用与Excel高度相似,但又完整脱离对Office的依赖。将SpreadJS集成到前端项目并部署发布后,用户只需求在PC上装置了满足H5规范的阅读器(Chrome、Firefox、Edge等),即可在阅读器端翻开SpreadJS。
假如想愈加深化的理解SpreadJS,能够翻开官方在线体验地址及学习指南停止学习,接下来我们来引见分权限编辑的详细完成计划。
为什么会想到运用SpreadJS呢?
之所以选择SpreadJS来做权限编辑的底层表格组件,主要是受业务人员启示。在Excel中,有一种机制叫做表单维护。表单维护是分离单元格锁定状态和工作表的维护状态,能够用来控制单元格能否能够编辑,这种可编辑控制的最小粒度能够到达单元格级别。
该如何来完成呢?
SpreadJS是一款类Excel的表格控件,具备表单维护的功用。完成编辑控制的中心API主要有单元格锁定。我们将编辑权限控制整体分为三类,分别如下:
(1)整个工作表不可编辑
一个Excel文件我们称为一个工作簿,一个工作簿会包含多个工作表。默许状态下,工作表的锁定状态为true,此时假如想要设置整个工作表不可编辑,只需执行工作表维护相关代码即可。
(经过SpreadJS完成整个工作表不可编辑)
经过上图中红框所示的代码,Sheet1中一切单元格就不能再编辑了。假如设置完之后,发现单元格还是能够编辑,可能是由于原来的excel文件中默许单元格的锁定状态被修正成false了,此时能够用代码或右键设置单元格格式→维护来查看单元格的锁定状态。
假如需求整个工作簿都不可编辑,只需求循环去设置工作簿中每个工作表的维护状态即可。