我需要弄清楚要添加到脚本中的内容,以便在不覆盖现有数据的情况下将新数据添加到工作表的末尾。我是一个完全的初学者并且已经研究过这个,但似乎无法将代码放在一起。这是我的脚本:
function myFunction() {
var url = "xxxxxxxx"
var response = UrlFetchApp.fetch(url)
var data = response.getContentText()
var result = JSON.parse(data)
var sheet = SpreadsheetApp.getActiveSheet()
sheet.clear()
var headerRow = ['Title','Brand','UPC','In Stock','Stock Level','Price','Seller','Next Day','Ship to Home', 'Link']
sheet.appendRow(headerRow)
for(var i=0; i<result.category_results.length; i++){
var row = [result.category_results[i].product.title, result.category_results[i].product.brand, result.category_results[i].product.upc,result.category_results[i].inventory.in_stock,
result.category_results[i].inventory.stock_level, result.category_results[i].offers.primary.price, result.category_results[i].offers.primary.seller_name,
result.category_results[i].fulfillment.next_day_shipping_eligible, result.category_results[i].fulfillment.ship_to_home, result.category_results[i].product.link]
sheet.appendRow(row)
}
}
sheet.clear()
。这样,现有值总是被删除,工作表被新值覆盖。我认为这就是你的问题的原因。appendRow
在循环中使用。在这种情况下,工艺成本会很高。setValues
使用 代替appendRow
。当以上几点反映到你的脚本中时,它变成如下。
function myFunction() {
// 1. Retrieve values. (This is your script.)
var url = "xxxxxxxx";
var response = UrlFetchApp.fetch(url);
var data = response.getContentText();
var result = JSON.parse(data);
// 2. Check whether there are the existing values in the sheet.
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
if (lastRow == 0) {
var headerRow = ['Title','Brand','UPC','In Stock','Stock Level','Price','Seller','Next Day','Ship to Home', 'Link'];
sheet.appendRow(headerRow);
}
// 3. Create an array for putting the values to the sheet.
var values = []
for(var i=0; i<result.category_results.length; i++){
var row = [result.category_results[i].product.title, result.category_results[i].product.brand, result.category_results[i].product.upc,result.category_results[i].inventory.in_stock,
result.category_results[i].inventory.stock_level, result.category_results[i].offers.primary.price, result.category_results[i].offers.primary.seller_name,
result.category_results[i].fulfillment.next_day_shipping_eligible, result.category_results[i].fulfillment.ship_to_home, result.category_results[i].product.link];
values.push(row);
}
// 4. Put the values using the array.
sheet.getRange(lastRow + 1, 1, values.length, values[0].length).setValues(values);
}
row
. 请注意这一点。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句