资讯专栏INFORMATION COLUMN

spreadjs使用

madthumb / 3458人阅读

摘要:设置单元格属性设置文字设置背景色公式随机数求和和之和到之和条件开启引用基本操作添加行列设置背景图片设置和的背景色获取点击的和所在的离开事件

初始化表单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);
});

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104239.html

相关文章

  • SpreadJS 纯前端表格控件 V12.2 发布更新

    摘要:用不到行代码,在前端实现的全部功能千万前端开发者翘首企盼,终发布更新六大功能特性,带来更多便利,用不到行代码,在前端实现的全部功能是一款基于的纯前端电子表格控件,以高速低耗高度类似可无限扩展为产品特色,提供移动跨平台和浏览器支持,同时满足等 用不到100行代码,在前端实现Excel的全部功能 千万前端开发者翘首企盼,SpreadJS V12.2 终发布更新:六大功能特性,带来更多便利,...

    FrozenMap 评论0 收藏0
  • 从零开始,SpreadJS新人学习笔记【第5周】

    摘要:复制粘贴单元格格式和单元格类型本周,让我们一起来学习的复制粘贴单元格格式和单元格类型,希望我的学习笔记能够帮助你们,从零开始学习,并逐步精通。 复制粘贴、单元格格式和单元格类型 本周,让我们一起来学习SpreadJS 的复制粘贴、单元格格式和单元格类型,希望我的学习笔记能够帮助你们,从零开始学习 SpreadJS,并逐步精通。 在此前的学习笔记中,相信大家已经学会并熟练掌握了Sprea...

    shadowbook 评论0 收藏0
  • SpreadJS 纯前端表格控件推出新版本,正式支持Angular 2

    摘要:数百万前端开发人员翘首期待的,日前宣布版本正式发布,全面支持是一款纯前端表格控件,也是目前市面上唯一的最接近的纯前端控件。葡萄城公司成立于年,是全球领先的集开发工具商业智能解决方案管理系统设计工具于一身的软件和服务提供商。 数百万前端开发人员翘首期待的SpreadJS,日前宣布V10.2版本正式发布,全面支持Angular2! SpreadJS 是一款纯前端表格控件,也是目前市面上唯一...

    hizengzeng 评论0 收藏0
  • 纯前端开发案例:用 SpreadJS 搭建信息系统软件开发平台

    摘要:葡萄城的是一个基于技术的纯控件,控件性能流畅,有类似的在线表格编辑器,适合非专业程序员设计报表模板,很符合平台部分无编码开发的理念。葡萄城控件产品对于项目的价值控件主要用于本项目中的报表设计,展示,打印等功能。 showImg(https://segmentfault.com/img/bVbalYk?w=1000&h=400); 华闽通达 - R 平台应用所使用产品:SpreadJS ...

    Heier 评论0 收藏0
  • SpreadJS 在 Angular2 中支持哪些事件?

    摘要:在上一篇文章中,我们学习了在中支持绑定的属性,今天我们来介绍在中支持哪些事件。详细的事件说明,请参考博客。版本即将发布,更多更好的功能尽在新版本中,敬请期待登录官网,了解更多。 showImg(https://segmentfault.com/img/bVP1Wc?w=900&h=500);SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能...

    姘搁『 评论0 收藏0

发表评论

0条评论

madthumb

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<