找回密码
 立即注册

QQ登录

只需一步,快速开始

Derrick.Jiao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-13 13:46  /   查看:2394  /  回复:0
朋友们,是否还在为区域设置样式而烦恼?是否还在为写循环而苦恼?在即将正式发布的15.1中,我们正式支持了给cellRange设置样式。

在15.1之前,因为setStyle只能给单个单元格或者整行整列设置样式。如果需要给区域设置样式,就需要写循环来遍历区域中的单元格,相对来说不够优雅。
  1. let style = new GC.Spread.Sheets.Style();
  2. style.backColor = "red"
  3. for (let row = 0; row <= 10; row++) {
  4.     for (let col = 0; col < sheet.getColumnCount(); col++) {
  5.         sheet.setStyle(row, col, style.clone())
  6.     }
  7. }
复制代码


在15.1,我们在cellRange上新增了setStyle接口,使得可以在区域上设置样式。
  1. sheet.getRange(0,0,10,sheet.getColumnCount()).setStyle(style));
复制代码


同样,在15.1之前,设置命名样式也有这样一个烦恼。
  1. let style = new GC.Spread.Sheets.Style();
  2. style.name = "backColorStyle"
  3. style.backColor = "red"
  4. sheet.addNamedStyle("backColorStyle")
  5. for (let row = 0; row <= 10; row++) {
  6.     for (let col = 0; col < sheet.getColumnCount(); col++) {
  7.         sheet.setStyleName(row, col, "backColorStyle")
  8.     }
  9. }
复制代码


现在,我们可以通过cellRange上新增的setStyleName解决。
  1. sheet.getRange(0,0,10,sheet.getColumnCount()).setStyleName("backColorStyle");
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部