2014-07-25 52 views
0

我想知道如何在電子表格中填充和存儲一系列多行和多列。我試過了:如何使用GAS填充電子表格中的範圍

var sheet = ss.getSheets()[0]; 
    var row = 1; // Start at row 1 
    var col = 1; // Start at column 1 
    var rows = Count; // Number of rows to use 
    var cols = 10; // Number of columns to use 
    var range = sheet.getRange(row, col, rows, cols);  

    var arrValues = []; 
    var arrRows = []; 

    for (var i=0; i<Count; i++) 
    { 
     arrValues[0] = i; 
     .... 
     arrValues[9] = 'something'; 

     arrRows[i] = arrValues; 
    } 

    range.setValues([arrRows]); 

但這不起作用。

我應該如何填寫和設置值?

回答

1

如何這樣的事情,建立一個二維數組中的2路像你一樣......

不知道你想與數字索引做什麼,所以我把它放在第1欄

function fillRange(){ 
    var ss = SpreadsheetApp.getActive(); 
    var sheet = ss.getSheets()[0]; 
    var row = 1; // Start at row 1 
    var col = 1; // Start at column 1 
    var Count = 10; 
    var rows = Count; // Number of rows to use 
    var cols = 10; // Number of columns to use 
    var dataArray = []; 
    for (var i=0; i < rows; i++){ 
    var rowData = []; 
    rowData.push(i); 
    for(var c=1 ; c<cols ; c++){ 
     rowData.push('something'); 
    } 
    dataArray.push(rowData); 
    } 
    Logger.log(dataArray+' length = '+dataArray.length+' width = '+dataArray[0].length); 
    sheet.getRange(row, col,dataArray.length,dataArray[0].length).setValues(dataArray); 
} 

如果您需要控制每列中的數據,請使用數組將它們存儲爲常量並更改代碼,如下所示:

var someData = ['','value1','other value','another one','again','and','another','data','to be','complete'] 

function fillRange(){ 
    var ss = SpreadsheetApp.getActive() 
    var sheet = ss.getSheets()[0]; 
    var row = 1; // Start at row 1 
    var col = 1; // Start at column 1 
    var Count = 10; 
    var rows = Count; // Number of rows to use 
    var cols = 10; // Number of columns to use 
    var dataArray = []; 
    for (var i=0; i < rows; i++){ 
    var rowData = []; 
    rowData.push(i); 
    for(var c=1 ; c<cols ; c++){ 
     rowData.push(someData[c]); 
    } 
    dataArray.push(rowData); 
    } 
    Logger.log(dataArray+' length = '+dataArray.length+' width = '+dataArray[0].length); 
    sheet.getRange(row, col,dataArray.length,dataArray[0].length).setValues(dataArray); 
} 
相關問題