我在这里做错了什么?它所做的只是创建新文件,但新电子表格中什么也没有。
function summarize_projects() {
var sheet = SpreadsheetApp
.openByUrl(theURL).getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
//var sheet1 = sheet.getRangeByName('GUILLERMO');
//var sheet2 = sheet.getRangeByName('GLORIA');
//var sheet3 = sheet.getRangeByName('PV');
var ssNew = SpreadsheetApp.create("BDATA1");
Logger.log(rows.getValues);
var ssNew1 = SpreadsheetApp.create("BDATA2");
ssNew1.appendRow(values);
Logger.log(rows.getValue());
var ssNew2 = SpreadsheetApp.create("BDATA3");
ssNew2.insertSheet('BDATA3', 'yassir');
Logger.log(rows.getValue());
该方法getValues()
获取数据的二维数组。该appendRow()
方法不能采用二维数组。appendRow()
在这种情况下,您将无法使用该方法。你得到的多行数据,并且appendRow()
可以不写多行数据。
您必须使用以下代码:
ssNew1.getRange(1,1,values.length, values[0].length).setValues(values);
上面的代码从第一行和第一列开始。如果您不想要那样。如果要在最后插入数据。您将需要使用:
ssNew1.getRange(ssNew1.getLastRow() + 1,1,values.length, values[0].length).setValues(values);
但是,由于这是一个全新的电子表格,因此工作表中不应该包含任何内容。
此特定版本的语法为getRange()
:
getRange(Starting Row, Starting Column, Number of Rows to Write, Number of Columns to Write)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句