找回密码
 立即注册

QQ登录

只需一步,快速开始

Winny

超级版主

133

主题

249

帖子

1570

积分

超级版主

Rank: 8Rank: 8

积分
1570
Winny
超级版主   /  发表于:2022-8-22 18:35  /   查看:1461  /  回复:0
背景:
用户在SpreadJS中使用表格(Table)时,可以选择套用表格样式,实现背景色交替出现的效果,如下所示:
image.png792682494.png
但是存在一些业务情况,希望这种交替样式能够出现在整个工作表(Sheet)当中。这时。我们可以选择将整个工作表变成一个表格(Table)。但不少客户工作表中会存在其它内容,无法将整个工作表变成一个表格(Table)。此时,我们可以选择以下两种方案来实现交替北京色的需求。
1. 使用条件格式
使用条件格式去判断行索引的奇偶性,满足条件时,添加另外一种样式,其余行使用默认样式,核心代码如下:
  1. let sheet = spread.getSheet(0)
  2. let style1  = new GC.Spread.Sheets.Style()
  3. style1.backColor = '#e5efee'
  4. let ranges = [new GC.Spread.Sheets.Range(0,0,sheet.getRowCount(),sheet.getColumnCount())]
  5. // 方法1: 使用条件格式,删除或新增行时,样式随之变化,会对性能有一定影响。
  6. sheet.conditionalFormats.addFormulaRule('=ISEVEN(ROW(A1))',style1,ranges)
复制代码
2. 遍历行索引,设置行背景。
  1. sheet = spread.getSheet(1)
  2. // 方法2:根据行索引去添加背景色,这种在新增行时,需要动态去调整样式,新增行列会有影响
  3. function changeRowColor(){
  4.     for(let i=0; i<sheet.getRowCount();i++){
  5.         if(i % 2 != 0){
  6.             sheet.getCell(i,-1).setStyle(style1)
  7.         }
  8.     }
  9. }

  10. changeRowColor()
复制代码
两种方式的优缺点都已经写在代码中,详细示例可以参考demo:工作表中添加交替背景色

0 个回复

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