请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

肥夏米
初级会员   /  发表于:2021-9-2 11:00  /   查看:1578  /  回复:5
本帖最后由 肥夏米 于 2021-9-2 11:02 编辑

我设计了一个excel模板,用GCExcel把数据绑定到模板上,生成的数据如下:
企业微信截图_16305517218547.png734342345.png
对生成好的数据转成json格式在spreadJS上做展示。现在有个问题,就是想纵向根据部门做展开收起,横向根据年份做展开收起,这种要怎么实现呢?
类似这种。。 企业微信截图_163055132736.png905163268.png
但是因为数据是从后端读到之后绑上去的,都是动态的,所以我不能确定从第几行或第几列开始展开的。有什么办法实现吗?

5 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-2 12:30:33
推荐
肥夏米 发表于 2021-9-2 12:22
那像这种纵向的分组呢,部门是合并单元格的,可以根据部门来分组吗?

纵向同样需要遍历,如果是这种情况的合并 image.png737786559.png
可以利用下面的代码判断某个单元格是否是合并单元格
  1. function isCellinSpan(row,col){
  2.         var ranges = spread.getActiveSheet().getSpans(new GC.Spread.Sheets.Range(row,col,1,1));
  3.         if(ranges.length){
  4.             return true;
  5.         }
  6.         return false;
  7.     }
复制代码




如果是这种情况的合并,就是还是用getValue判断带有合并字样的单元格,就能拿到合并的区域了。
image.png139278868.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-2 11:29:19
沙发
您好,如果是不知道区域的情况下可能就没有太好的方法设置分组。比较适合的方案就是用getValue遍历表单区域。例如,每遇到一个年度合计就将这个单元格的列索引记录下来,也就是“2月”到“年度合计”作为一个分组区域,然后调用我们的接口去添加。
image.png717785949.png
回复 使用道具 举报
肥夏米
初级会员   /  发表于:2021-9-2 12:22:57
板凳
Derrick.Jiao 发表于 2021-9-2 11:29
您好,如果是不知道区域的情况下可能就没有太好的方法设置分组。比较适合的方案就是用getValue遍历表单区域 ...

那像这种纵向的分组呢,部门是合并单元格的,可以根据部门来分组吗?
回复 使用道具 举报
肥夏米
初级会员   /  发表于:2021-9-3 11:09:54
5#
好的,谢谢,这个思路应该是可行的
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-3 11:24:33
6#
肥夏米 发表于 2021-9-3 11:09
好的,谢谢,这个思路应该是可行的

不用客气,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部