gpt4 book ai didi

javascript - 将 Google Apps 脚本的输出定位到 A 列的右侧

转载 作者:行者123 更新时间:2023-11-30 00:10:33 25 4
gpt4 key购买 nike

我有一个 Google 电子表格脚本,它使用此代码读取 A 列中列出的值

var values = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("master").getDataRange().getValues()

for(n=2;n<values.length;++n){
var data = values[n][0] ; // read values in column A

}

使用 A 列中的这些数据,我进行 API 调用并将来自 API 请求的数据存储在多维数组“resultRow”中

如何在 B、C、D、E 列中输出 resultRow,以便与其产品编号对应的每一行位于其旁边?

| column A |    column B    |    column C    |    column D    |     column E   |
| 79327492 | resultRow[0,0] | resultRow[0,1] | resultRow[0,2] |
| 78828388 | resultRow[1,0] | resultRow[1,1] |
| 74629642 | resultRow[2,0] | resultRow[2,1] | resultRow[2,2] | resultRow[2,3] |

我试过了

var range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("master").getRange(3,2,rows,columns); // rows = amount of rows, columns = amount of columns 
range.setValues([resultRow]);

但是我一直收到这个错误:不正确的范围高度,是 1 但应该是 14

最佳答案

从我在您的工作表布局中看到的情况来看,每一行的行长可能不同。setValues(2D-Array) 要求二维数组中的每个元素都具有完全相同的长度,因此您必须修改结果数组以使其满足要求。

这可以通过多种方式完成,下面是一种可能的(虽然不是最优雅的)方式:

第一个函数 testArray 只是用来创建一个非同类二维数组来说明和提供一个用例:它在工作表中获取非空值并将其收集在二维数组中,我使用的工作表有一个里面有很多空单元格和随机数据...)

function testArrays(){
var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
Logger.log('original array : \n\n'+JSON.stringify(values)+'\n');
Logger.log('row Length = '+values[0].length+'\n');
var resultArray = [];
for(var n=0;n<values.length;n++){
var rowArray = [];
for(var m=0;m<values[0].length;m++){
if(values[n][m] != ''){
rowArray.push(values[n][m]);
}
}
resultArray.push(rowArray);
}
Logger.log('wrong array : \n'+JSON.stringify(resultArray)+'\n');
resultArray = normalizeTwoDimArray(resultArray,values[0].length);
Logger.log('normalized array : \n'+JSON.stringify(resultArray));
SpreadsheetApp.getActiveSheet().getDataRange().setValues(resultArray)
}

function normalizeTwoDimArray(array,maxLength){
for(var n=0;n<array.length;n++){
if(array[n].length<maxLength){
for(var m = array[n].length ; m < maxLength ; m++){
array[n].push('');
}
}
}
return array;
}

enter image description here

关于javascript - 将 Google Apps 脚本的输出定位到 A 列的右侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36676723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com