頁面引用相應的js以及css 因為SpreaJS是用jquery操作的所以要引用一個jquery的js,第二個js以及最後的css是SpreaJS本身需要引用的,第三個js是做列印才會用到的。 html里只需要放一個div就可以了,相當於SpreaJS的容器。 <div id="ss" style= ...
頁面引用相應的js以及css
因為SpreaJS是用jquery操作的所以要引用一個jquery的js,第二個js以及最後的css是SpreaJS本身需要引用的,第三個js是做列印才會用到的。
html里只需要放一個div就可以了,相當於SpreaJS的容器。
<div id="ss" style="margin-left:50px;width:1080px;height:600px;border:1px #000 solid;"></div>View Code
在js直接初始化調用就可以了
//頁面初始化 window.onload = function () { var spread = new GcSpread.Sheets.Spread(document.getElementById('ss'), { sheetCount: 1 }); };View Code
往表格添加設置數據官網上都有教程:http://demo.gcpowertools.com.cn/SpreadJS/TutorialSample/#/samples
SpreadJS一些屬性以及方法,每行都會有註釋。
//頁面初始化 window.onload = function () { var spread = new GcSpread.Sheets.Spread(document.getElementById('ss'), { sheetCount: 1 }); var spreadNS = GcSpread.Sheets; //獲取當前第一個sheet頁,0代表索引 var sheet = spread.getSheet(0); SheetArea = spreadNS.SheetArea; //在這個裡面寫相應的代碼,否則不生效,結尾加sheet.isPaintSuspended(false); sheet.isPaintSuspended(true); //禁止拖拽單元格 spread.canUserDragDrop(false); //頁面視圖31行9列 sheet.setRowCount(31, SheetArea.viewport); sheet.setColumnCount(9, SheetArea.viewport); //顯示具有零寬度或高度的列或行的雙網格線。 spread.resizeZeroIndicator(GcSpread.Sheets.ResizeZeroIndicator.Enhanced); //sheet頁名稱 sheet.setName("A企業(集團)主要經濟指標月報"); //全局鎖定,不可編輯 sheet.setIsProtected(true); //設置用戶不可選已鎖定的 sheet.protectionOption({ allowSelectLockedCells: false, }); //新建sheet頁按鈕隱藏 spread.newTabVisible(false); //獲取單元格的值 //alert(sheet.getValue(0,3)); //設定某個單元格不可編輯 //sheet.getCell(0, 3).locked(true); //根據單元格獲取索引 //var range = GcSpread.Sheets.Calc.formulaToRange(sheet, "E5", 0, 0); //sheet頁名稱不可編輯 spread.tabEditable(false) sheet.isPaintSuspended(false); };
驗證信息,輸入錯誤提示消息
//數據校驗 //輸入5到20之間 spread.highlightInvalidData(true); var dv = GcSpread.Sheets.DefaultDataValidator.createNumberValidator(GcSpread.Sheets.ComparisonOperator.Between, "5", "20", true); dv.showInputMessage = true; dv.inputMessage = "只能添5到20之間的"; dv.inputTitle = "錯誤"; //dv.IgnoreBlank(false); sheet.setDataValidator(1, 3, dv); //輸入大於50 var dv = GcSpread.Sheets.DefaultDataValidator.createNumberValidator(GcSpread.Sheets.ComparisonOperator.GreaterThan,"50", true); dv.showInputMessage = true; dv.showErrorMessage = true; dv.inputMessage = "不能大於50"; dv.inputTitle = "錯誤"; //dv.IgnoreBlank(false); sheet.setDataValidator(2, 3, dv);
限制輸入,只允許輸入數字
//非數字禁止輸入 function NumberCellType() { } NumberCellType.prototype = new GcSpread.Sheets.TextCellType(); NumberCellType.prototype.createEditorElement = function (context) { var editor = GcSpread.Sheets.TextCellType.prototype.createEditorElement.call(this, context); var textarea = editor.firstChild; textarea.onkeypress = function (event) { return event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 46 } textarea.onkeyup = function (event) { this.value = this.value.replace(/[\u4e00-\u9fa5]/g, '').replace(/\D/g, '') } textarea.onpaste = function (event) { var clipData = event.clipboardData; return !clipData.getData('text').match(/\D/); } textarea.ondragenter = function (event) { return false; } return editor; }; //此單元格只能輸入數字 單元格調用上面的方法(NumberCellType)就可以了 sheet.setCellType(3, 3, new NumberCellType()) sheet.setCellType(4, 4, new NumberCellType())