如何将一维数组复制到 google 张
how to copy a single dimension array to google sheets
使用 JavaScript 通过 google API.
访问 google sheet
我正在将“google spreadsheet”“Parent sheet”的全部内容复制到二维数组 vaParent
var ssParent = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Parent");
var vaParent = ssParent.getRange(2, 1, ssParent.getLastRow(), ssParent.getLastColumn() ).getValues();
我正在提取 6 个数组元素
var vaNewParent01 = vaParent[i].slice(3, 9);
现在,我想将 vaNewParent01 复制到一个新的 google "spreadsheet" "company sheet"
ssCompany.getRange( 2, 1 ).setValues( vaNewParent01 );
以上代码不起作用??
我发现 vaNewParent01 是一个包含 6 个元素的一维数组
然而,ssCompany.getRange( 2, 1 ).setValues( vaNewParent01
仅当 vaNewParent01 是 array
的数组时才有效
问题:
a/ 如何使用单个语句从 sheet 中提取几个单元格并复制到另一个单元格。
提前感谢您的帮助
干杯
arr is single dimension array
let vs = arr.map(e => [e]); //for a column;
let vs = [arr]; //for a row
Sheet.getRange(1,1,vs.length, vs[0].length).setValues(vs);
从你的展示脚本来看,如果你的脚本像下面的脚本,
var ssParent = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Parent");
var vaParent = ssParent.getRange(2, 1, ssParent.getLastRow(), ssParent.getLastColumn()).getValues();
for (var i = 0; i < vaParent.length; i++) {
var vaNewParent01 = vaParent[i].slice(3, 9);
ssCompany.getRange(2, 1).setValues(vaNewParent01);
}
vaNewParent01
是一维数组。为了使用 setValues(values)
,values
需要是二维数组。关于 ssCompany.getRange( 2, 1 ).setValues( vaNewParent01 );
,在这种情况下,请包括您要输入的值的行数和列数。如果我对你的情况的理解是正确的,我认为你的问题是因为这个。
关于how to extract few cells from a sheet and copy to another using a single statement.
,在这种情况下,下面的示例脚本怎么样?
示例脚本 1:
此脚本是通过猜测您的测试脚本根据您的显示脚本修改的。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssParent = ss.getSheetByName("Parent");
var ssCompany = ss.getSheetByName("sample"); // Please set the destination sheet name.
var vaParent = ssParent.getRange(2, 1, ssParent.getLastRow(), ssParent.getLastColumn()).getValues();
var values = [];
for (var i = 0; i < vaParent.length; i++) {
var vaNewParent01 = vaParent[i].slice(3, 9);
values.push(vaNewParent01);
}
ssCompany.getRange(2, 1, values.length, values[0].length).setValues(values);
示例脚本 2:
作为其他示例脚本,下面的脚本怎么样?在此示例脚本中,使用了范围 copyTo
of Class。根据您的显示脚本,我认为您想要将源 sheet 的 D2:I
中的值复制到目标 sheet 的 A2
。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssParent = ss.getSheetByName("Parent");
var ssCompany = ss.getSheetByName("sample"); // Please set the destination sheet name.
var src = ssParent.getRange("D2:I" + ssParent.getLastRow());
src.copyTo(ssCompany.getRange(2, 1), { contentsOnly: true });
参考文献:
使用 JavaScript 通过 google API.
访问 google sheet我正在将“google spreadsheet”“Parent sheet”的全部内容复制到二维数组 vaParent
var ssParent = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Parent");
var vaParent = ssParent.getRange(2, 1, ssParent.getLastRow(), ssParent.getLastColumn() ).getValues();
我正在提取 6 个数组元素
var vaNewParent01 = vaParent[i].slice(3, 9);
现在,我想将 vaNewParent01 复制到一个新的 google "spreadsheet" "company sheet"
ssCompany.getRange( 2, 1 ).setValues( vaNewParent01 );
以上代码不起作用??
我发现 vaNewParent01 是一个包含 6 个元素的一维数组
然而,ssCompany.getRange( 2, 1 ).setValues( vaNewParent01 仅当 vaNewParent01 是 array
的数组时才有效问题: a/ 如何使用单个语句从 sheet 中提取几个单元格并复制到另一个单元格。
提前感谢您的帮助
干杯
arr is single dimension array
let vs = arr.map(e => [e]); //for a column;
let vs = [arr]; //for a row
Sheet.getRange(1,1,vs.length, vs[0].length).setValues(vs);
从你的展示脚本来看,如果你的脚本像下面的脚本,
var ssParent = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Parent");
var vaParent = ssParent.getRange(2, 1, ssParent.getLastRow(), ssParent.getLastColumn()).getValues();
for (var i = 0; i < vaParent.length; i++) {
var vaNewParent01 = vaParent[i].slice(3, 9);
ssCompany.getRange(2, 1).setValues(vaNewParent01);
}
vaNewParent01
是一维数组。为了使用 setValues(values)
,values
需要是二维数组。关于 ssCompany.getRange( 2, 1 ).setValues( vaNewParent01 );
,在这种情况下,请包括您要输入的值的行数和列数。如果我对你的情况的理解是正确的,我认为你的问题是因为这个。
关于how to extract few cells from a sheet and copy to another using a single statement.
,在这种情况下,下面的示例脚本怎么样?
示例脚本 1:
此脚本是通过猜测您的测试脚本根据您的显示脚本修改的。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssParent = ss.getSheetByName("Parent");
var ssCompany = ss.getSheetByName("sample"); // Please set the destination sheet name.
var vaParent = ssParent.getRange(2, 1, ssParent.getLastRow(), ssParent.getLastColumn()).getValues();
var values = [];
for (var i = 0; i < vaParent.length; i++) {
var vaNewParent01 = vaParent[i].slice(3, 9);
values.push(vaNewParent01);
}
ssCompany.getRange(2, 1, values.length, values[0].length).setValues(values);
示例脚本 2:
作为其他示例脚本,下面的脚本怎么样?在此示例脚本中,使用了范围 copyTo
of Class。根据您的显示脚本,我认为您想要将源 sheet 的 D2:I
中的值复制到目标 sheet 的 A2
。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssParent = ss.getSheetByName("Parent");
var ssCompany = ss.getSheetByName("sample"); // Please set the destination sheet name.
var src = ssParent.getRange("D2:I" + ssParent.getLastRow());
src.copyTo(ssCompany.getRange(2, 1), { contentsOnly: true });