2012-08-07 77 views
1

我的Google电子表格中有所有行和列的范围。我遍历每一行。如果我的条件语句正确,我需要将一些数据附加到最右边一列的行中。获取Google电子表格中每行最后一列的索引

任何指针,我怎么能做到这一点?谢谢!

+0

每行都有相同的长度吗?还有:这是一个大名单吗?你想追加的数据,它是否必须在特定的列中或在最后一个数据单元之后? – 2012-08-07 16:48:17

回答

2

关键的一点是让范围内的数据到一个数组;然后遍历数组;然后写回数组。对像电池这样的电子表格对象采取行动效率相对较低。

function writeRows() { 
    // This is the named range you have. 
    var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("myRange"); 

    // Get the data and iterate through it rather than iterate through rows. 
    var dataarray = range.getValues(); 

    // For each row. 
    for (var rowpos = 0; rowpos < dataarray.length; rowpos++) { 
    // Get the row data as array. 
    var rowdata = dataarray[rowpos]; 
    Logger.log(rowdata.length); 

    // Update last column in this row. 
    dataarray[rowpos][rowdata.length - 1] = "value to set"; 
    } 
    // Now write back the array values into the range. 
    range.setValues(dataarray); 
}; 
-1

这个我什么,我用的行追加到电子表格:

var ss = SpreadsheetApp.openById('spredsheetID').getSheets()[0]; 
    var range = ss.getRange(ss.getLastRow()+1, 1, 1, 2); 
    var values = [[new Date(), mystring]]; 
    range.setValues(values); 

它更新第2列...

+0

这不会在行的最右边添加一个新行(底部)而不是新列吗? – Akaishen 2012-08-07 16:04:59

相关问题