复制和过去多行。(Copy and Past multiple rows. Ljava.lang.Object response)

我正在编写一个小脚本来自动将一些数据从一张纸复制/传递到另一张纸。

我想出了以下脚本:

function test() { var sheet = SpreadsheetApp.openById('1sLVRDzzOopFQrXLNtAYKfyBfJthCkjvK8xe_PtOmso0').getSheetByName('Sheet1'); var numRows = sheet.getLastRow()-1; for(var i = 0; i < numRows; i++) { // Dispatching Data var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2") var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1") var data1 = sheet.getRange('Sheet1!A2:G2').getValues(); sheet.appendRow([data1]); ss.deleteRow(2) } }

它工作得很好但是回复了以下响应:

每行的Ljava.lang.Object response...

我该怎么办 ? 谢谢 !

I'm writing a little script to automatically copy/past some data from one sheet to another sheet.

I've come up with the following script :

function test() { var sheet = SpreadsheetApp.openById('1sLVRDzzOopFQrXLNtAYKfyBfJthCkjvK8xe_PtOmso0').getSheetByName('Sheet1'); var numRows = sheet.getLastRow()-1; for(var i = 0; i < numRows; i++) { // Dispatching Data var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2") var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1") var data1 = sheet.getRange('Sheet1!A2:G2').getValues(); sheet.appendRow([data1]); ss.deleteRow(2) } }

It's working perfectly fine but return me the following response :

Ljava.lang.Object response... for each row.

What should I do ? thanks !

最满意答案

如果您想使用您的脚本,那么简单的修复就是更改:

sheet.appendRow([data1]);

至:

sheet.appendRow(data1[0]);

因为你只想要1行。

但是我不确定你的for循环是什么意思? 这可能有点清洁:

function test() { var ss = SpreadsheetApp.openById('ID') var sheet1 = ss.getSheetByName("Sheet1") var sheet2 = ss.getSheetByName("Sheet2") var data1 = sheet1.getRange('Sheet1!A2:G2').getValues(); sheet2.appendRow(data1[0]); sheet1.deleteRow(2) }

If you want to use your script then the simple fix is to change:

sheet.appendRow([data1]);

to:

sheet.appendRow(data1[0]);

because you only want the 1 row.

However I'm not sure what the point of your for loop is? This might be a little cleaner:

function test() { var ss = SpreadsheetApp.openById('ID') var sheet1 = ss.getSheetByName("Sheet1") var sheet2 = ss.getSheetByName("Sheet2") var data1 = sheet1.getRange('Sheet1!A2:G2').getValues(); sheet2.appendRow(data1[0]); sheet1.deleteRow(2) }复制和过去多行。(Copy and Past multiple rows. Ljava.lang.Object response)

我正在编写一个小脚本来自动将一些数据从一张纸复制/传递到另一张纸。

我想出了以下脚本:

function test() { var sheet = SpreadsheetApp.openById('1sLVRDzzOopFQrXLNtAYKfyBfJthCkjvK8xe_PtOmso0').getSheetByName('Sheet1'); var numRows = sheet.getLastRow()-1; for(var i = 0; i < numRows; i++) { // Dispatching Data var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2") var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1") var data1 = sheet.getRange('Sheet1!A2:G2').getValues(); sheet.appendRow([data1]); ss.deleteRow(2) } }

它工作得很好但是回复了以下响应:

每行的Ljava.lang.Object response...

我该怎么办 ? 谢谢 !

I'm writing a little script to automatically copy/past some data from one sheet to another sheet.

I've come up with the following script :

function test() { var sheet = SpreadsheetApp.openById('1sLVRDzzOopFQrXLNtAYKfyBfJthCkjvK8xe_PtOmso0').getSheetByName('Sheet1'); var numRows = sheet.getLastRow()-1; for(var i = 0; i < numRows; i++) { // Dispatching Data var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2") var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1") var data1 = sheet.getRange('Sheet1!A2:G2').getValues(); sheet.appendRow([data1]); ss.deleteRow(2) } }

It's working perfectly fine but return me the following response :

Ljava.lang.Object response... for each row.

What should I do ? thanks !

最满意答案

如果您想使用您的脚本,那么简单的修复就是更改:

sheet.appendRow([data1]);

至:

sheet.appendRow(data1[0]);

因为你只想要1行。

但是我不确定你的for循环是什么意思? 这可能有点清洁:

function test() { var ss = SpreadsheetApp.openById('ID') var sheet1 = ss.getSheetByName("Sheet1") var sheet2 = ss.getSheetByName("Sheet2") var data1 = sheet1.getRange('Sheet1!A2:G2').getValues(); sheet2.appendRow(data1[0]); sheet1.deleteRow(2) }

If you want to use your script then the simple fix is to change:

sheet.appendRow([data1]);

to:

sheet.appendRow(data1[0]);

because you only want the 1 row.

However I'm not sure what the point of your for loop is? This might be a little cleaner:

function test() { var ss = SpreadsheetApp.openById('ID') var sheet1 = ss.getSheetByName("Sheet1") var sheet2 = ss.getSheetByName("Sheet2") var data1 = sheet1.getRange('Sheet1!A2:G2').getValues(); sheet2.appendRow(data1[0]); sheet1.deleteRow(2) }