找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证

超级版主

200

主题

9908

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
15552

讲师达人悬赏达人微信认证勋章SpreadJS 认证SpreadJS 高级认证元老葡萄

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-5-31 23:28  /   查看:2920  /  回复:2
背景:实现Excel中内容行列转置的功能
思路:
循环去设置转置表格
参考代码:
  1.   var range = table.range();
  2.                 var row = range.row;
  3.                 var col = range.col;
  4.                 var rowCount = range.rowCount;
  5.                 var colCount = range.colCount;
  6.                 var tableStyle = GC.Spread.Sheets.Tables.TableThemes.light1;
  7.                 var table2 = sheet2.tables.add('table1', 1, 2, colCount, rowCount, tableStyle);
  8.                 for(var j=col;j<col+colCount;j++){
  9.                         for(var i=row;i<row+rowCount;i++){
  10.                                 var value = sheet.getValue(i,j);
  11.                                 sheet2.setValue(j,i,value);
  12.                         }
  13.                 }
  14.                        
复制代码
最终实现效果:
原表格
image.png314420165.png
转置表格
image.png737937621.png
思考:
在复制粘贴时可以将样式,单元格格式,公式等根据实际情况考虑进去。

表格横纵转置.html

2.61 KB, 下载次数: 54

2 个回复

倒序浏览
clwei
注册会员   /  发表于:2020-9-22 15:23:57
沙发
那亲请问转置的范围内存在公式,而且公式的取值范围包含当前转置的范围,那应该如何处理,使公式取值的范围同转置之前的保持一致呢?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-23 09:33:27
板凳
本帖最后由 DerrickJiao 于 2020-9-23 09:35 编辑
clwei 发表于 2020-9-22 15:23
那亲请问转置的范围内存在公式,而且公式的取值范围包含当前转置的范围,那应该如何处理,使公式取值的范围 ...

目前只有类似于以上这种转换数值的解决方案,没有其他更好的办法了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部