通过在表格编辑器,我们可以很方便的给透视表的某个单元格设置样式,
以下图为例,如果要给透视表中的B4单元格设置背景色,选中单元格后,可以直接通过上放的工具设置背景色即可
但是如果需要通过代码操作的话,情况可能和我们给普通单元格设置背景色稍有不同
对于普通单元格来说,我们可以通过下面的代码就可以设置
- var style = new GC.Spread.Sheets.Style();
- style.backColor = 'red';
- sheet.setStyle(4 1, style);
复制代码
但是对于数据透视表来说,通过上述方式给数据透视表设置某个单元格的样式,并不是正确的方式,可能会出现设置无效。
原因是透视表本身是一个动态的表格。我们实际需要的是给 B4单元格所对应的统计项设置样式:即统计salesperson=Alan和car=Audi这个统计项
我们需要先把B4单元格转换为数据透视表区域
- var ptranges=sheet.pivotTables.getRangePivotAreas(new GC.Spread.Sheets.Range(4,1,1,1))
复制代码 转换后的ptranges信息如下
- {
- "PivotTable1": [
- {
- "references": [
- {
- "fieldName": "salesperson",
- "items": [
- "Alan"
- ]
- },
- {
- "fieldName": "car",
- "items": [
- "Audi"
- ]
- }
- ]
- }
- ]
- }
复制代码
可以看到其中包含了数据透视表PivotTable1中的一组透视表区域,通过下面的代码设置透视表样式
- var style = new GC.Spread.Sheets.Style();
- style.backColor = 'red';
- pt.setStyle(ptranges["PivotTable1"][0],style )
复制代码 上述代码中ptranges["PivotTable1"][0]即为对应的B4单元格
最后的设置效果
|
|