2014-07-25 53 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); 
} 
相关问题