找回密码
 立即注册

QQ登录

只需一步,快速开始

creaway

中级会员

26

主题

65

帖子

670

积分

中级会员

积分
670
creaway
中级会员   /  发表于:2017-3-9 14:30  /   查看:4099  /  回复:4
本帖最后由 creaway 于 2017-3-9 16:51 编辑

API查到获取行高和列宽的获取,但我合并过的单元格这个不适合,有单独的获取合并过的单元格的高度和宽度么?

还有个问题,就是我合并过单元格后的表单,我要对整张表单循环都每个单元格,我怎么把合并掉的单元格不读,现在好像合并掉的单元格依然存在,但我想直接跳过合并掉的就只读界面显示着的单元格要怎么处理?

4 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-3-9 17:48:01
沙发
1 用 sheet.getCellRect 可以获取到当前单元格的实际大小。
2 判断当前单元格是否有合并,如果有是左上角的就读,否则忽略。
回复 使用道具 举报
creaway
中级会员   /  发表于:2017-3-10 09:03:14
板凳
dexteryao 发表于 2017-3-9 17:48
1 用 sheet.getCellRect 可以获取到当前单元格的实际大小。
2 判断当前单元格是否有合并,如果有是左上角 ...

第二个答复没看明白,我现在循环整张表的单元格,但界面上是有合并过的,所以在循环读的时候我只想读到界面上显示着的单元格,后面隐藏掉的不希望读出来。我是通过表单的总的行数 和列数来做FOR循环一个个读的。我现在不是要判断是否合并。比如我有3个格子(1,1),(1,2),(1,3),现在我合并掉这3个格子就在页面只显示了(1,1)。 但我在查列数的时候还是3列,
for(var i=1; i<rowcount; i++){
     for(){


}

那我作循环的时候还是能找到
回复 使用道具 举报
creaway
中级会员   /  发表于:2017-3-10 09:03:14
地板
本帖最后由 creaway 于 2017-3-10 09:06 编辑
dexteryao 发表于 2017-3-9 17:48
1 用 sheet.getCellRect 可以获取到当前单元格的实际大小。
2 判断当前单元格是否有合并,如果有是左上角 ...

第二个答复没看明白,我现在循环整张表的单元格,但界面上是有合并过的,所以在循环读的时候我只想读到界面上显示着的单元格,后面隐藏掉的不希望读出来。我是通过表单的总的行数 和列数来做FOR循环一个个读的。我现在不是要判断是否合并。比如我有3个格子(1,1),(1,2),(1,3),现在我合并掉这3个格子就在页面只显示了(1,1)。 但我在查列数的时候还是3列,
for(var i=1; i<rowcount; i++){
     for(var j=1; j<columcount; j++){
      //这里我要怎么处理才能知道(1,2)和(1,3)是被合并到(1,1)里面了
     }
}
或者是否有API可以判断(1,2)和(1,3)这2个格子是隐藏了的
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-3-10 10:10:11
5#
首先通过getSpan获取这个单元格是否有存在合并,如果有合并,合并区域的开始是否是当前单元格,如果不是就是隐藏了的单元格。

function isHiddenInSpan(row, col){
    var span = sheet.getSpan(row, col)
    if(span){
        if(span.row == row && span.col == col){
            return false;
        }
        else{
            return true;
        }
    }
    return false
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部