Clark.Pan 发表于 2020-5-31 23:28:56

实现表格行列转置

背景:实现Excel中内容行列转置的功能
思路:
循环去设置转置表格
参考代码:
var range = table.range();
                var row = range.row;
                var col = range.col;
                var rowCount = range.rowCount;
                var colCount = range.colCount;
                var tableStyle = GC.Spread.Sheets.Tables.TableThemes.light1;
                var table2 = sheet2.tables.add('table1', 1, 2, colCount, rowCount, tableStyle);
                for(var j=col;j<col+colCount;j++){
                        for(var i=row;i<row+rowCount;i++){
                                var value = sheet.getValue(i,j);
                                sheet2.setValue(j,i,value);
                        }
                }
                        最终实现效果:
原表格

转置表格

思考:
在复制粘贴时可以将样式,单元格格式,公式等根据实际情况考虑进去。

clwei 发表于 2020-9-22 15:23:57

那亲请问转置的范围内存在公式,而且公式的取值范围包含当前转置的范围,那应该如何处理,使公式取值的范围同转置之前的保持一致呢?

Derrick.Jiao 发表于 2020-9-23 09:33:27

本帖最后由 DerrickJiao 于 2020-9-23 09:35 编辑

clwei 发表于 2020-9-22 15:23
那亲请问转置的范围内存在公式,而且公式的取值范围包含当前转置的范围,那应该如何处理,使公式取值的范围 ...
目前只有类似于以上这种转换数值的解决方案,没有其他更好的办法了。
页: [1]
查看完整版本: 实现表格行列转置