const spreadNS = GC.Spread.Sheets;
const SHEETS = new spreadNS.Workbook(this.refs['overseas']);
// set sheet count
// SHEETS.setSheetCount(1);
const sheet = SHEETS.sheets[0];
設置默認屬性
const defaultStyle = new GC.Spread.Sheets.Style();
// 設置默認背景色
// @method1 defaultStyle.backColor = "LemonChiffon";
// @method2 SHEETS.options.backColor = "#ccc";
//defaultStyle.foreColor = "Red";
//defaultStyle.formatter = "0.00";
defaultStyle.font = "bold normal 9px normal"
defaultStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.center;
defaultStyle.vAlign = GC.Spread.Sheets.VerticalAlign.center;
//defaultStyle.borderLeft = new GC.Spread.Sheets.LineBorder("Green",GC.Spread.Sheets.LineStyle.medium);
//defaultStyle.borderTop = new GC.Spread.Sheets.LineBorder("Green",GC.Spread.Sheets.LineStyle.medium);
//defaultStyle.borderRight = new GC.Spread.Sheets.LineBorder("Green",GC.Spread.Sheets.LineStyle.medium);
//defaultStyle.borderBottom = new GC.Spread.Sheets.LineBorder("Green",GC.Spread.Sheets.LineStyle.medium);
sheet.setDefaultStyle(defaultStyle, spreadNS.SheetArea.viewport);
表格的四個部分
spreadNS.SheetArea.viewport
// spreadNS.SheetArea include the following parts
// colHeader: 1 ,
// corner: 0
// rowHeader: 2
// viewport: 3
// 改變表頭的背景 Set the backcolor of second row header.
sheet.getCell(1, 0, GC.Spread.Sheets.SheetArea.rowHeader).backColor("Yellow");
其餘配置
// 表格下邊的tab的顏色
sheet.options.sheetTabColor = "red";
// 表格只讀
sheet.options.isProtected = true
// 容許cell內容移除
activeSheet.options.allowCellOverflow = true;
// 第一列不可見
sheet.setColumnVisible(0, false)
// 添加tips
sheet.comments.add(4, 4, "不要修改!");
// 禁止用戶編輯公式
spread.options.allowUserEditFormula = false;
// 不顯示格子的邊
sheet.options.gridline = {
color:"red",
showVerticalGridline: true,
showHorizontalGridline: false
};
// 不顯示錶頭
activeSheet.options.colHeaderVisible = false;
activeSheet.options.rowHeaderVisible = false;
減小重繪
spread.reset() // 清空數據
spread.suspendPaint(); //suspendPaint 暫停重繪 先這樣 不少操做以後 resumePaint
spread.addSheet(0);
spread.fromJSON(json); // json data
spread.resumePaint(); // 調用resumePaint 從新激活Spread重繪
excel 運算符
引用運算符 含義(示例)
:(冒號) 區域運算符,產生對包括在兩個引用之間的全部單元格的引用 (B5:B15)
,(逗號) 聯合運算符,將多個引用合併爲一個引用 (SUM(B5:B15,D5:D15))
(空格) 交叉運算符產生對兩個引用共有的單元格的引用。(B7:D7 C6:C8)
設置單元格屬性
sheet.getCell(2, 1).
text("huahua"). // 設置文字
backColor("rgba(1,1,1,.3)") //設置背景色
公式
// 隨機數
sheet.setFormula(1, 1, "RandBetween(45,85)");
// 求和
sheet.setFormula(1, 1, "SUM(A1,B1)"); //A1和B1之和
sheet.setFormula(1, 1, "SUM(A1:H1)"); //A1到H1之和
// 條件
sheet.setFormula(4, 1, "IF(A1>10, A1*2, A1*3)");
開啓R1C1 引用
// open r1c1 reference
SHEETS.options.referenceStyle = 1;
基本操做
// 添加行/列
sheet.addRows(1, 1); sheet.addColumns(1, 1);
// 設置背景圖片
activeSheet.getCell(1, 1).backgroundImage("Image file path name");
設置row和column的背景色
/**
* @name set the bgColor of column
*
* @type1
* sheet.getRange(-1, 1, -1, 1).backColor("lightYellow").width(330);
*
* @name set the bgColor of row
*
* @type1
* sheet.getRange(0, -1, 1, -1).backColor("lightYellow").height(44)
*
* @type2
* const rowStyle1 = new spreadNS.Style();
* rowStyle1.backColor = "#bdcde3";
* sheet.setStyle(0, -1, rowStyle1, spreadNS.SheetArea.viewport);
*/
events
// 獲取點擊的cell和所在的sheet
SHEETS.bind(spreadNS.Events.EnterCell, function (event, data) {
console.log(data.col)
console.log(data.row)
console.log(data)
var activeSheet = data.sheet;
activeSheet.startEdit(true);
});
// 離開cell事件
sheet.bind(GC.Spread.Sheets.Events.LeaveCell, function (event, infos) {
//Reset the backcolor of cell before moving
infos.sheet.getCell(infos.row, infos.col).backColor(undefined);
});