spreadjs使用

初始化表單API

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);
});
相關文章
相關標籤/搜索