轉(zhuǎn)帖|使用教程|編輯:莫成敏|2020-05-06 10:00:46.970|閱讀 660 次
概述:SpreadJS 是一款基于 HTML5 的純前端電子表格控件,兼容 450 種以上的 Excel 公式,具有“高性能、跨平臺、與 Excel 高度兼容”等產(chǎn)品特性。本文整理了表單保護相關(guān)的典型問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
SpreadJS 是一款基于 HTML5 的純前端電子表格控件,兼容 450 種以上的 Excel 公式,具有“高性能、跨平臺、與 Excel 高度兼容”等產(chǎn)品特性。在帶來親切的 Excel 使用體驗的同時,滿足 Web Excel 組件開發(fā)、表格文檔協(xié)同編輯、數(shù)據(jù)填報、Excel 類報表設(shè)計等業(yè)務場景,極大降低了企業(yè)研發(fā)成本和項目交付風險。
表單保護一直都是Excel的一個常用功能,在SpreadJS中也是如此,用戶經(jīng)常通過設(shè)置表單保護來進行填報權(quán)限的控制。本文整理了表單保護相關(guān)的典型問題。
1、SpreadJS表單保護的機制:
表單保護的機制和Excel一樣需要同時設(shè)定鎖定(locked)和保護(Protect)兩個狀態(tài)為true,才能讓單元格禁止編輯。
2、所有單元格都不能編輯
這里的locked屬性默認所有的單元格的locked屬性都是true,換而言之在默認狀態(tài)下,只要將Protect的狀態(tài)設(shè)置為true,就可以做到所有單元格都不能編輯。
否則則需要將所有的單元格locked屬性設(shè)置為true后再設(shè)置表單保護。
3、設(shè)置默認單元格的鎖定狀態(tài)為false
var defaultStyle = sheet.getDefaultStyle(); defaultStyle.locked = false; sheet.setDefaultStyle(defaultStyle);
4、復制取消保護單元格之后復制后的單元格為保護狀態(tài)
表單保護的狀態(tài)下是無法復制locked屬性的,非表單保護狀態(tài)下可以復制。
解決這個問題的辦法是,在事件中copyto之前先將表單保護的狀態(tài)設(shè)置為false,然后copyto結(jié)束后再設(shè)置為true
document.getElementById('btnCopy').addEventListener('click', function() { sheet.options.isProtected = false; sheet.copyTo(5, 4, 5, 7, 7, 1, spreadNS.CopyToOptions.all); sheet.options.isProtected = true; });
5、sheet頁密碼保護相關(guān)
參考這篇文章
6、保護工作簿里面的幾行
如果我們不希望單元格被編輯,只要給單元格設(shè)置一個locked 為true的style即可,如果整行都不希望被編輯,使用setStyle方法時第二個參數(shù)設(shè)置為-1,那么這一行都被locked了。整列則反之,第一個參數(shù)為-1
設(shè)置完之后再設(shè)置sheet.options.isProtected = true;
7、保護之后允許調(diào)整行款列高
sheet.options.protectionOptions.allowResizeRows = true; sheet.options.protectionOptions.allowResizeColumns = true;
8、鎖定的單元格不允許點擊
sheet.options.protectionOptions.allowSelectLockedCells = false;
本文內(nèi)容到這里就結(jié)束了,感興趣的朋友可以下載SpreadJS試用版免費體驗~
相關(guān)內(nèi)容推薦:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: