找回密码
 立即注册

QQ登录

只需一步,快速开始

Fiooona
论坛元老   /  发表于:2020-7-27 10:39  /   查看:3821  /  回复:2
背景:SpreadJS 中提供了分组列的功能,你可以使用分组列来展示有分层结构的数据,使数据呈现树形结构。
          在这种场景下,很多用户有对数据进行分类汇总,求和的需求,例如说一级节点对所有二级节点的某一列数据求和,二级节点对所有三级节点的某一列数据求和。
思路: 遍历每一行,可以获取当前行的所有子节点,然后设置公式,用subTotal公式来求和,公式中传入子节点区域。
subTotal公式详情:
https://demo.grapecity.com.cn/spreadjs/help/v12/content/webframe.html#SUBTOTAL.html
核心代码:

  1. setDataSource(data);
  2. // 遍历data
  3. for (let i = 0; i < data.length; i++) {
  4.   const item = data[i];
  5.   /* 如果这条item不是末级行,给当前行某个单元格设置公式,是末级行,去除公式 */
  6.   if( data.someKey) {
  7.     activeSheet.getRange(i, 1, 1, 1).formula('=SUBTOTAL(9,Axx,AXX)');
  8.   } else {
  9.     activeSheet.getRange(i, 1, 1, 1).formula(null);
  10.   }
  11. }
复制代码


image.png602888183.png


features_worksheet_outline_outline-column_JavaScript (5) (1).zip

3.65 KB, 下载次数: 308

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!

2 个回复

倒序浏览
tianl
注册会员   /  发表于:2021-5-6 09:25:51
沙发
该场景是否有GcExcel的示例?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-6 09:29:59
板凳
tianl 发表于 2021-5-6 09:25
该场景是否有GcExcel的示例?

您可以参考学习指南的分组列
https://demo.grapecity.com.cn/do ... demos/outlinecolumn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部