我有一个列,每行都包含这样的文本(文本不同)- ABC1 London - ACompany: Ground Floor, Main Tower, 127 Bridge Street, London AB1 1JZ
.
该脚本我从该文本中提取了城市名称并将其存储到一个新数组中。
当我尝试将这些值写入新列时,我得到 Cannot convert Array to Object[][]. (line 18, file "Code")
.
我尝试再次循环遍历该数组,但它返回 101 个数组(我有 101 行),因此当我将 city[0].length 设置为宽度时,它会将其粘贴到 101 列上。
我需要的只是从文本中获取城市名称并将其粘贴到同一张纸上的不同列中 - 例如。文本位于 B12 列,我想将城市名称粘贴到 R12 中 - 希望它有意义。
请参阅下面我的代码
function getCity() {
var ss = SpreadsheetApp.openById('ID');
var sh = ss.getSheetByName('Response Data');
var range = sh.getDataRange();
var values = range.getValues();
var cities = [];
var newCity = []
for (var i=1;i<values.length;i++)
{
var cellText = values[i][11];
if(typeof cellText === 'number') {continue;};
cities.push(cellText.substring(5, (cellText + " -").indexOf("-") - 1));
}
Logger.log(cities);
sh.getRange(2, 18, cities.length, 1).setValues(cities);
}
谢谢!
最佳答案
尝试此代码,看看是否遇到相同的错误,
function getCity() {
var ss = SpreadsheetApp.openById('ID');
var sh = ss.getSheetByName('Response Data');
var range = sh.getDataRange();
var values = range.getValues();
var cities = [];
var newCity = []
for (var i=1;i<values.length;i++)
{
var cellText = values[i][11];
if(typeof cellText === 'number') {continue;};
cities.push([cellText.substring(5, (cellText + " -").indexOf("-") - 1)]);
}
Logger.log(cities);
sh.getRange(2,18,cities.length,1).setValues(cities);
}
关于javascript - 将数组转换为对象并将值粘贴到不同的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46194509/