chr*_*zin 0 google-apps-script
我正在尝试在一个工作表中获取多个列并将其复制到另一个中。使用getRange 函数,有没有办法获取和复制(例如):Col1、Col3、Col7?(而且我不太乐意为此使用查询......)
谢谢 !
要使用它,您所要做的就是将要复制的列放入像这样的数组 [1,3,7] 中,并让它成为 copyColumns 函数的第一个参数。为了方便它的使用,创建一个中间函数可以使您不必在代码中这样做。但是这两个函数都必须存在于您的代码中。
function copySelectedColumns()
{
copyColumns([1,3,7],'mysrc','mydes');
}
function copyColumns(columns,src,dest)
{
var columns=(typeof(columns)!='undefined')?columns:'';
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName(src);
var ds=ss.getSheetByName(dest);
var rg=sh.getDataRange();
var vA=rg.getValues();
var uA=[];
if(columns.length)
{
for(var i=0;i<vA.length;i++)
{
uA[i]=[];
for(var j=0;j<vA[0].length;j++)
{
if(columns.indexOf(j+1)>-1)
{
uA[i][uA[i].length]=vA[i][j];
}
}
}
ds.getRange(1,1,uA.length,uA[0].length).setValues(uA);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
96 次 |
最近记录: |