var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
//var spread = GC.Spread.Sheets.findControl(document.getElementById('ss'));//獲取spread對象 //spread.options.tabStripVisible = false;//是否顯示表單欄 //spread.options.tabNavigationVisible = false;//是否顯示導航欄 //spread.options.newTabVisible = false;//是否顯示新增按鈕 //spread.options.scrollbarMaxAlign = true;//是否對齊表單最后的行列 //spread.options.allowUserResize = false;//是否可調整列和行的大小 //spread.options.allowSheetReorder = false;//是否可拖拽排序 //spread.options.allowUserDragMeerge = true;//是否可拖拽合并單元格 //spread.options.tabEditable = false;//是否可雙擊編輯 //spread.options.allowCellOverflow = true;//是否允許單元格溢出 //spread.options.allowUserZoom = false;//是否在按住Ctrl鍵的同時滾動鼠標滾輪來縮放顯示 ////拖動滾動條給出提示 //spread.options.showScrollTip = GC.Spread.Sheets.ShowScrollTip.vertical;//豎直 ////背景色 //spread.options.backColor = '#a079e8';//所有單元格 //spread.options.grayAreaBackColor = 'red';//灰色部分 //spread.options.backgroundImage = '地址';//所有單元格 ////復制粘貼 //spread.options.allowCopyPasteExcelStyle = true;//允許粘貼樣式 //spread.options.allowExtendPasteRange = true;//允許擴展粘貼區域 //spread.options.copyPasteHeaderOptions = 0;//粘貼(0:不含表頭/ 1:僅含行頭/ 2:僅含列頭/ 3:含行頭列頭) //spread.suspendEvent();//停止監聽 //spread.resumeEvent();//恢復監聽 //spread.refresh()//???
var sheet = spread.getSheet(0);
//var sheet = spread.getActiveSheet();//獲取活動表單 //新增表單 //var nsheet = new GC.Spread.Sheets.Worksheet('新表單'); //spread.addSheet(0, nsheet); //sheet.suspendPaint();//停止繪制 //sheet.resumePaint();//恢復繪制 //sheet.options.sheetTabColor = 'red';//設置標簽顏色 //sheet.options.rowHeaderVisible = false;//是否顯示行頭 //sheet.options.colHeaderVisible = false;//是否顯示列頭 //sheet.options.gridline.showHorizontalGridline = true;//是否顯示橫向網格線 //sheet.options.gridline.showVerticalGridline = false;//是否顯示豎向網格線 //sheet.options.gridline = { color: "#FF2235", showVerticalGridline: false, showHorizontalGridline: true };//設置網格線 //sheet.options.frozenlineColor = 'red';//設置凍結線顏色 //列頭設置 //var spreadNS = GC.Spread.Sheets;//列頭(colHeader)/行頭(rowHeader)/單元格(viewport) //sheet.setRowCount(3, spreadNS.SheetArea.colHeader);//3行列頭 //sheet.addSpan(0, 0, 3, 3, spreadNS.SheetArea.colHeader);//第1行第1列,合并1行3列(合并列頭) //sheet.setValue(0, 0, '值', spreadNS.SheetArea.colHeader);//賦值 //sheet.setArray(0, 0, [['1', '2'], ['3', '4']]);//賦值 //sheet.copyTo(0, 0, 2, 2, 1, 1, spreadNS.CopyToOptions.all);//從第1行1列開始,給到第3行3列開始,復制1行1列 //sheet.getArray(0, 0, 2, 2);//獲取值 //sheet.setRowCount(10, spreadNS.SheetArea.viewport);//行 //sheet.setColumnCount(20, spreadNS.SheetArea.viewport);//列 //sheet.addRows(0, 1);//從第0行開始,增加1行 //sheet.deleteRows(0, 1);//刪除行 //是否允許用戶調整列和行的大小 //sheet.setColumnResizable(0, false);//單列 //sheet.setRowResizable(0, false);//單行 //sheet.setRowVisible(0, false);//隱藏行 //sheet.setRowHeight(0, 20);//設置行高 //sheet.getRowHeight(0);//獲取行高 //sheet.autoFitColumn(0);//自適應列寬 //sheet.frozenRowCount(1);//固定行 //sheet.frozenColumnCount(1);//固定列 //尾部 //sheet.frozenTrailingRowCount(1);//固定行 //sheet.frozenTrailingColumnCount(1);//固定列 //合并單元格 //sheet.addSpan(1, 1, 3, 3);//第2行第2列,合并3行3列 //單元格賦值 //sheet.setValue(1, 1, '值'); //sheet.getCell(1, 1).value('值'); //sheet.defaults.rowHeight = 40;//行高40 //活動表單改變事件 //var aa = GC.Spread.Sheets.Events.ActiveSheetChanged; //spread.bind(aa, function (sender, args) { // sogModal.openAlertDialog("提示", "1111"); // //args.cancel = true;//事件取消 //}); //SelectionChanging//選中內容正在改變 //SelectionChanged//選中內容改變 //CellClick//單元格被點擊 //EditStarting//開始編輯 //EditEnded//結束編輯
//公式應用 //sheet.setFormula(3, 3, '=SUM(A1,B1)'); //字體樣式.font('樣式 大小 字體'); //sheet.getCell(0, 0) //.font('bold 15px normal')//加粗 //.font('italic 15px normal');//傾斜 //.textDecoration(GC.Spread.Sheets.textDecorationType.underline);//下劃線(underline)/雙下劃線(doubleUnderline)/中劃線(lineThrough)/上劃線(overline) //.vAlign(GC.Spread.Sheets.VerticalAlign.top)//豎直對齊 //.hAlign(GC.Spread.Sheets.HorizontalAlign.left)//水平對齊 //.foreColor('red')//字體顏色 //.backColor('red')//背景顏色 //.wordWrap(true)//換行 //.textIndent(2)//縮進 //.shrinkToFit(true)//字號自動匹配 //.watermark('請輸入姓名:');//標簽 //.cellPadding('1,1,1,1')//內邊距 //.labelOptions({ // foreColor: '', // margin: '' //}); //初始化樣式通用 //var style = GC.Spread.Sheets.Style(); //style.foreColor = ''; //style.backColor = ''; //style.isVerticalText = 'true';//豎直顯示 //sheet.setStyle(0, 0, style, GC.Spread.Sheets.SheetArea.viewport);//視圖區域 //sheet.setStyle(0, 0, style, GC.Spread.Sheets.SheetArea.colHeader);//列頭區域 //sheet.setRowHeight(0, 100);//行高 //sheet.setColumnnWidth(0, 100);//列寬 //最小選擇 //sheet.selectionUnit(0);//單元格 //sheet.selectionUnit(1);//行 //sheet.selectionUnit(2);//列 //可選擇 //sheet.selectionPolicy(0);//單元格 //sheet.selectionPolicy(1);//區域 //sheet.selectionPolicy(2);//多區域(Ctrl) //快捷鍵 //var comm = spread.commandManager();//命令管理器 ////按'W'鍵向上 //comm.register( // 'customNavigationUp',//行為名稱 // GC.Spread.Sheets.Commands.navigationUp,//行為 // 'W'.charCodeAt(0),//對應按鍵 // false, // false, // false, // false //);//name, command, key, ctrl, shift, alt, meta(windows) //表單保護 //var option = { // allowSelectLockedCells: false,//選擇被鎖定單元格 // allowSelectUnlockedCells: true,//選擇未被鎖定單元格 // allowFilter: false,//排序 // allowSort: false,//過濾 // allowResizeRows: false,//調整行高 // allowResizeColumns: false,//調整列寬 // allowEditObjects: false,//編輯對象 // allowDragInsertRows: false, // allowDragInsertColumns: false, // allowInsertRows: false, // allowInsertColumns: false, // allowDeleteRows: false, // allowDeleteColumns: false //}; //var option = { // allowInsertRows: false, // allowInsertColumns: false, // allowDeleteRows: false, // allowDeleteColumns: false //}; //sheet.options.protectionOptions = option; //sheet.options.isProtected = true;//表單保護 //表單保護下,某些單元格可編輯 //sheet.getRange(1, 2, 1, 2, GC.Spread.Sheets.SheetArea.viewport).locked(false); //表單保護下,所有單元格可編輯 //var def = sheet.getDefaultStyle(GC.Spread.Sheets.SheetArea.viewport);//獲取默認樣式 //def.locked = false; //sheet.setDefaultStyle(def, GC.Spread.Sheets.SheetArea.viewport); //分組列 //var data = [ // { name: '001', level: 1 }, // { name: '002', level: 1 }, // { name: '003', level: 2 }, // { name: '004', level: 2 }, // { name: '005', level: 2 }, //]; //for (var i = 0; i < data.length; i++) { // sheet.getCell(i, 0).textIndent(data[i].level);//縮進 //} //sheet.outlineColumn.options({ // columnIndex: 0, // showImage: false, // showCheckBox: true, // maxLevel: 3 //}); //sheet.setDataSource(data); //sheet.setColumnCount(1); //sheet.setColumnWidth(0, 500);
//自定義函數 //function calcuArea() { // this.name = 'area';//函數名稱 // this.maxArgs = 2;//最大參數量 // this.minArgs = 2;//最小參數量 //} //calcuArea.prototype = new GC.Spread.CalcEngine.Functions.Function();//繼承 //calcuArea.prototype.evaluate = function (arg1, arg2) {//重寫 // if (arguments.length == 2 && !isNaN(parseInt(arg1)) && !isNaN(parseInt(arg2))) { // return (arg1 * arg2) / 2; // } // return "#value"; //}; //var area = new calcuArea();//初始化 //sheet.addCustomFunction(area);//添加自定義函數 //sheet.setArrayFormula(0, 2, 3, 1, '=(A1:A3*B1:B3)/2');//區域使用函數 //sheet.removeCustomFunction('area');//刪除 //sheet.clearCustomFunction();//清空
////數據綁定 //sheet.setDataSource($scope.viewModel.spreadJSModel);//數據源綁定//表單綁定//自動生成綁定列 ////自定義格式 //function CustomNumberFormat() { }; //CustomNumberFormat.prototype = new GC.Spread.Formatter.FormatterBase();//繼承 //CustomNumberFormat.prototype.format = function (obj, formattedData) {//重新 // if (obj == 1) { // return "男"; // } // if (obj == 2) { // return "女"; // } // return ""; //}; //var data2 = [ // { name: 'name', displayName: '姓名', size: 100, visible: true }, // { name: 'age', displayName: '年齡', size: 50 }, // { name: 'sex', displayName: '性別', formatter: new CustomNumberFormat(), size: 50 }, // { name: 'date', displayName: '日期', formatter: 'yyyy-MM-dd', size: 130 }, // { name: 'isShow', displayName: '是否顯示', cellType: new GC.Spread.Sheets.CellTypes.CheckBox(), size: 100 } //]; //sheet.bindColumns(data2); ////添加/刪除行 //sheet.autoGenerateColumns = true;//自動生成列 //$scope.AddRow = function () { // var rowCount = sheet.getRowCount(); // sheet.addRows(rowCount, 1); // var dataSource = sheet.getDataSource(); // dataSource[rowCount] = {}; // sheet.repaint();//重新繪制表單 //} //$scope.DelRow = function () { // var rowCount = sheet.getRowCount(); // for (var i = rowCount - 1; i >= 0; i--) { // if ($scope.viewModel.spreadJSModel[i].isShow == true) { // sheet.deleteRows(i, 1); // } // } // sheet.repaint();//重新繪制表單 //} //var data = $scope.viewModel.spreadJSModel; //var source = new GC.Spread.Sheets.Bindings.CellBindingSource(data[0]);//表單綁定和單元格綁定的,需要重新包裝 //sheet.setBindingPath(0, 0, 'name'); //sheet.setDataSource(source); //表格綁定 //var table = sheet.tables.add('myTable', 1, 1, 5, 6); //var data = { // name: 'Jones', rgion: '西北地區', sales: [ // { 時間: '2022/7/1', 項目: '項目1', 數量: 1, 話費: 1.99 }, // { 時間: '2022/7/2', 項目: '項目2', 數量: 2, 話費: 2.99 }, // { 時間: '2022/7/3', 項目: '項目3', 數量: 3, 話費: 3.99 } // ] //}; //table.bindingPath('sales'); //var source = new GC.Spread.Sheets.Bindings.CellBindingSource(data); //sheet.setDataSource(source); //var _aa = { // ignoreFormula: false,//忽略公式(否) // ignoreStyle: false,//忽略樣式 // rowHeadersAsFrozenColumns: false,//行頭作為凍結列 // columnHeadersAsFrozenRows: false,//列頭作為凍結行 // includeBindingSource: true//***setDataSource綁定數據時 //}; //var jsonStr = JSON.stringify(spread.toJSON(_aa));//轉JSON //var _bb = { // ignoreFormula: false, // ignoreStyle: false, // frozenColumnsAsRowHeaders: false, // frozenRowsAsColumnHeaders: false, // doNotRecalculateAfterLoad: false//不重新計算公式(否) //}; //var newSpread = new GC.Spread.Sheets.Workbook(document.getElementById('sss'), { sheetCount: 1 }); //newSpread.fromJSON(JSON.parse(jsonStr), _bb); //綁定數據源 //var examdata = [{ '': '', '': '' }], //var nsheet = new GC.Spread.Sheets.Worksheet('新表單'); //nsheet.setDataSource(examdata); //spread.addSheet(0, nsheet); //var _aa = { // includeBindingSource: true//*** //}; //var jsonStr = JSON.stringify(spread.toJSON(_aa));//轉JSON //newSpread.fromJSON(JSON.parse(jsonStr));
1 //sheet.getSelections();//獲取選中的區域 2 //sheet.getInsertRows();//獲取插入行 3 //sheet.getDeletedRows();//獲取刪除行 4 //sheet.clearPendingChanges()//清除臟數據 5 6 ////以下操作默認清除臟數據 7 //setRowCout() / setColumnCount() 8 //fromJSON() 9 //setDataSource() 10 11 //獲取單元格臟數據 12 //var cells = sheet.getDirtyCells()//參數:行,列,行數,列數 13 //cells.map(function (item) { 14 // return item.row;//item.col//item.oldValue//item.newValue 15 //}).join('\n'); 16 17 ////獲取整行臟數據 18 //var rows = sheet.getDirtyRows(); 19 //rows.map(function (item) { 20 // return item.row; 21 //}).join(',');
//自定義格式 //創建一個基于FormatterBase的類 //function CustomNumberFormat() { }; //CustomNumberFormat.prototype = new GC.Spread.Formatter.FormatterBase(); ////重新方法(值, 顏色) //CustomNumberFormat.prototype.format = function (obj, formattedData) { // if (typeof obj === 'number') { // return formatNumber(obj, formattedData); // } else if (typeof obj === 'string') { // if ($.isNumeric(obj)) {//字符串只包含數字 // return formatNumber(parseFloat(obj), formattedData); // } // } // return obj; //}; //function formatNumber(obj, formattedData) { // if (isFinite(obj) && formattedData) {//有限數據 // formattedData.conditionalForeColor = 'red'; // } // return obj.toString(); //} ////綁定 //var data = [ // { name: '', displayName: '', formatter: new CustomNumberFormat() } //]; //sheet.bindColumns(data);
//單元格類型 ////button按鈕 //var spreadNS = GC.Spread.Sheets; //var btn = new spreadNS.CellTypes.Button();//創建單元格類型對象(按鈕) //btn.text('添加'); //btn.marginLeft(0); //btn.buttonBackColor('red'); //sheet.setCellType(0, 0, btn, spreadNS.SheetArea.viewport);//將單元格類型設置到單元格上 //spread.bind(GC.Spread.Sheets.Events.ButtonClicked, function (e, args) { // var sheet = args.sheet, row = args.row, col = args.col; // var cellType = sheet.getCellType(row, col); // if (cellType instanceof GC.Spread.Sheets.CellTypes.Button) { // alert("Button Clicked"); // } //}); ////checkbox復選框 //var check = new spreadNS.CellTypes.CheckBox(); //check.isThreeState(true);//是否為3種狀態(不確定/選中/未選中) //check.textTrue('');//選中時顯示文本 //check.textFalse('');//未選中時顯示文本 //check.textIndeterminate('');//不確定時顯示文本 //check.textAlign(spreadNS.CellTypes.CheckBoxTextAlign.right);//文本位置 //sheet.setCellType(0, 0, check, spreadNS.SheetArea.viewport); ////單選框 //var radio = new GC.Spread.Sheets.CellTypes.RadioButtonList(); //radio.items([ // { text: "sample1", value: "1" }, // { text: "sample2", value: "2" }, // { text: "sample3", value: "3" }, //]); //sheet.setCellType(3, 2, radio, GC.Spread.Sheets.SheetArea.viewport); ////復選列表 //var c = new GC.Spread.Sheets.CellTypes.CheckBoxList(); //c.items([{ text: "a", value: 1 }, { text: "b", value: 2 }, { text: "c", value: 3 }]); //sheet.setCellType(3, 2, c, GC.Spread.Sheets.SheetArea.viewport); ////按鈕列表 //var cellType = new GC.Spread.Sheets.CellTypes.ButtonList(); //cellType.items([{ text: "a", value: 1 }, { text: "b", value: 2 }, { text: "c", value: 3 }]); //activeSheet.getCell(2, 2).cellType(cellType); ////日期框 //var style = new GC.Spread.Sheets.Style(); //style.cellButtons = [ // { // imageType: GC.Spread.Sheets.ButtonImageType.dropdown, // command: "openDateTimePicker", // useButtonStyle: true, // } //]; //style.dropDowns = [ // { // type: GC.Spread.Sheets.DropDownType.dateTimePicker, // option: { // showTime: true, // } // } //]; //sheet.setStyle(2, 5, style); ////combobox下拉框 //var combo = new spreadNS.CellTypes.ComboBox(); //combo.items([ // { text: '顯示值1', value: '1' }, // { text: '顯示值2', value: '2' }, // { text: '顯示值3', value: '3' }, //]); //combo.editorValueType(spreadNS.CellTypes.EditorValueType.text);//text/value/index//顯示選中數據 //combo.editable(true).editorValueType(spreadNS.CellTypes.EditorValueType.text);//是否可編輯 //combo.itemHeight(20);//下拉選項高度 //sheet.getCell(0, 0, spreadNS.SheetArea.viewport).cellType(combo).value('顯示值1');//設置單元格類型//賦默認值 ////超鏈接 //var hl = new spreadNS.CellTypes.HyperLink(); //hl.text('鏈接');//顯示文本 //hl.linkToolTip('111');//鼠標懸浮顯示文本 //hl.linkColor('red');//默認顏色 //hl.visitedLinkColor('blue');//點擊后的顏色 //sheet.setCellType(0, 0, hl, spreadNS.SheetArea.viewport)//設置單元格類型 //sheet.getCell(0, 0, spreadNS.SheetArea.viewport).value("");//添加鏈接 ////回調超鏈接 //hl.activeOnClick(true);//點擊后, 當前單元格是否為活動單元格 //hl.onClickAction(function () {//回調方法 // spread.commandManager().execute({ cmd: 'aa' });//命令 //}) ////自定義命令 //spread.commandManager().register('aa', { // canUndo: true, // execute: function (context,options,isUndo) { // sheet.name('111');//改表單名稱 // sheet.options.sheetTabColor = 'red';//改表單顏色 // } //}, null, false, false, false, false); //var source = [ // { money: -100000, person: { firstName: '張展博', lastName: 'zhangzhanb' } }, // { money: -5000, person: { firstName: '崔海波', lastName: 'cuihaib' } }, // { money: 0, person: { firstName: '付登峰', lastName: 'fudf' } }, // { money: 0.05, person: { firstName: '劉肖肖', lastName: 'liuxiaoxiao' } }, // { money: 10000, person: { firstName: '王瑤', lastName: 'wangyao6' } } //]; //sheet.setDataSource(source); ////自定義單元格類型 //function FullNameCellType() { }; //FullNameCellType.prototype = new spreadNS.CellTypes.Base();//繼承 //FullNameCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {//重寫 // if (value) { // spreadNS.CellTypes.Base.prototype.paint.apply(this, [ctx, value.firstName + "." + value.lastName, x, y, w, h, style, options]); // } //}; //FullNameCellType.prototype.updateEditor = function (editorContext, cellStyle, cellRect) {//修改編輯器,定義寬高 // if (editorContext) { // editorContext.style.width = cellRect.width; // editorContext.style.height = 100; // return { height: 100 }; // } //}; //FullNameCellType.prototype.createEditorElement = function () {//創建div // var div = document.createElement("div"); // div.setAttribute("gcUIElement", "gcEditingInput"); // div.style.backgroundColor = "white"; // div.style.overflow = "hidden"; // var span1 = document.createElement("span"); // span1.style.display = "block"; // var span2 = document.createElement("span"); // span2.style.display = "block"; // var input1 = document.createElement("input"); // var input2 = document.createElement("input"); // var type = document.createAttribute("type"); // type.nodeValue = "text"; // var clonedType = type.cloneNode(true); // input1.setAttributeNode(type); // input2.setAttributeNode(clonedType); // div.appendChild(span1); // div.appendChild(input1); // div.appendChild(span2); // div.appendChild(input2); // return div; //} //FullNameCellType.prototype.getEditorValue = function (editorContext) {//參數是返回的div // if (editorContext && editorContext.children.length === 4) { // var input1 = editorContext.children[1]; // var firstName = input1.value; // var input2 = editorContext.children[3]; // var lastName = input2.value; // return { firstName: firstName, lastName: lastName }; // } //}; //FullNameCellType.prototype.setEditorValue = function (editorContext, value) { // if (editorContext && editorContext.children.length === 4) { // var span1 = editorContext.children[0]; // span1.innerHTML = "First Name:"; // var span2 = editorContext.children[2]; // span2.innerHTML = "Last Name:"; // if (value) { // var input1 = editorContext.children[1]; // input1.value = value.firstName; // var input2 = editorContext.children[3]; // input2.value = value.lastName; // } // } //}; //FullNameCellType.prototype.isReservedKey = function (e) {//釋放快捷鍵tab // return (e.keyCode === GC.Spread.Commands.key.tab && !e.ctrlKey && !e.shiftKey); //} //FullNameCellType.prototype.isEditingValueChanged = function (oldValue, newValue) { // if (newValue.firstName != oldValue.firstName || newValue.lastName != oldValue.lastName) { // return true; // } // return false; //} //var columnInfo = [ // { name: 'person', displayName: '姓名', cellType: new FullNameCellType(), size: 170 }, // { name: 'money', displayName: '金額', formatter: '_(¥* #,##0.00_)', size: 170 } //]; //sheet.bindColumns(columnInfo); ////排序 //function SortHyperlinkCellType() { // spreadNS.CellTypes.HyperLink.apply(this); // this.text("排序"); //}; //SortHyperlinkCellType.prototype = new spreadNS.CellTypes.HyperLink();//繼承 超鏈接 ////獲取包含碰撞信息的對象(處理鼠標事件,提供信息) //SortHyperlinkCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) { // if (context) { // return { // x: x, // y: y, // row: context.row, // col: context.col, // cellRect: cellRect, // cellStyle: cellStyle, // sheetArea: context.sheetArea, // isReservedLocation: true, // sheet: context.sheet // }; // } // return null; //} //SortHyperlinkCellType.prototype.processMouseUp = function (hitInfo) {//監聽鼠標抬起事件 // var sheet = hitInfo.sheet; // var sheetArea = hitInfo.sheetArea; // var row = hitInfo.row; // var col = hitInfo.col; // var tag = !(sheet.getTag(row, col, sheetArea) || false); // sheet.setTag(row, col, tag, sheetArea);//標記 是否點擊 // sheet.sortRange(0, 0, sheet.getRowCount(), sheet.getColumnCount(), true, [ //排序 // { // index: col, // ascending: tag // } // ]); //}; //sheet.setCellType(0, 1, new SortHyperlinkCellType(), spreadNS.SheetArea.colHeader);
浙公網安備 33010602011771號