![](/img/trans.png)
[英]cant get api array to output 1 first element from array, it only outputs all elements at once in jquery/javascript
[英]Only the first element of the array has been output to the google sheet, I need all elements (except null/undefined elements) to be output
我的腳本需要從一張工作表中獲取值,然后將其放入另一張工作表中。 它正確地拾取值。 但是,將值輸出到另一張紙時,僅輸出第一個元素。 我需要輸出所有元素。 (我認為)可以通過以下兩種方式之一來實現: 在輸出值時跳過或忽略數組的空白元素,或者忽略源工作表中的空白單元格。 任何幫助表示贊賞。 腳本如下:
更新的代碼:
function exportArds() {
var ards = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Newtownards");
var export = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Export");
var ardsLastRow = ards.getLastRow();
var exportLastRow = export.getLastRow();
var refValues = new Array(6);
var amountValues = new Array(6);
//get values for export
refValues = ards.getRange("B12:G12").getValues();
amountValues = ards.getRange("B13:G13").getValues();
for(var i = 2; i<=6; i++){
var a = refValues.join().split(',').filter(Boolean);
var b = amountValues.join().split(',').filter(Boolean);
//get values, if any, in export sheet (used to check where the empty cells are for input)
var checkAmount = export.getRange(i, 4).getValue().toString();
var checkDescription = export.getRange(i, 5).getValue().toString();
export.getRange(i, 4).setValue(b[i-2]);
export.getRange(i, 5).setValue(a[i-2]);
}//close for loop
Logger.log(a);
Logger.log(b);
}//close function
但是,當將值正確設置為一個單元格時,下一張工作表如果數組中有2個值,則未定義將輸出4次。 有辦法防止這種情況嗎?
我找到了解決此問題的解決方案,我敢肯定它可能會更干凈一些,請隨時評論任何建議! 代碼如下:
function exportArds() {
var ards = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Newtownards");
var export = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Export");
//get values for export
var refValues = ards.getRange("B12:G12").getValues();
var amountValues = ards.getRange("B13:G13").getValues();
for(var i = 2; i<=6; i++){
var a = refValues.join().split(',').filter(Boolean);
var b = amountValues.join().split(',').filter(Boolean);
}//close for loop
var aLength = a.length;
var bLength = b.length;
for(i = 2; i<=aLength; i++){
export.getRange(i, 5).setValue(a[i-2]);
}
for(i = 2; i<=bLength; i++){
export.getRange(i, 4).setValue(b[i-2]);
}
}//close function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.