Google apps script 将数据复制到其他工作表时出现问题
我有一个包含数据的工作表,我想将该工作表中的值复制到主工作表中 导入工作表中的数据是通过几个数组公式获得的,因此当我将其复制到主工作表时,它无法正确复制 我怎样才能只复制那张表的最终结果?(仅“可见”部分)Google apps script 将数据复制到其他工作表时出现问题,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个包含数据的工作表,我想将该工作表中的值复制到主工作表中 导入工作表中的数据是通过几个数组公式获得的,因此当我将其复制到主工作表时,它无法正确复制 我怎样才能只复制那张表的最终结果?(仅“可见”部分) 尝试使用以下脚本: 函数CopyDataToNewFile(){ var sss=SpreadsheetApp.openById('SOURCE');//sss=SOURCE电子表格 var ss=sss.getSheetByName('SOURCE_SHEET');//ss=SOURCE
尝试使用以下脚本:
函数CopyDataToNewFile(){
var sss=SpreadsheetApp.openById('SOURCE');//sss=SOURCE电子表格
var ss=sss.getSheetByName('SOURCE_SHEET');//ss=SOURCE SHEET
//获取完整的数据范围
var SRange=ss.getDataRange();
//获取标识范围的A1符号
var A1Range=SRange.getA1Notation();
//获取范围内的数据值
var SData=SRange.getValues();
var tss=SpreadsheetApp.openById('TARGET');//tss=TARGET电子表格
var ts=tss.getSheetByName('TARGET_SHEET');//ts=TARGET SHEET
//将目标范围设置为源数据的值
设置值(SData);
}
只需将
SOURCE
、SOURCE\u-SHEET
、TARGET
和TARGET\u-SHEET
替换为适合您需要的内容。尝试使用以下脚本:
函数CopyDataToNewFile(){
var sss=SpreadsheetApp.openById('SOURCE');//sss=SOURCE电子表格
var ss=sss.getSheetByName('SOURCE_SHEET');//ss=SOURCE SHEET
//获取完整的数据范围
var SRange=ss.getDataRange();
//获取标识范围的A1符号
var A1Range=SRange.getA1Notation();
//获取范围内的数据值
var SData=SRange.getValues();
var tss=SpreadsheetApp.openById('TARGET');//tss=TARGET电子表格
var ts=tss.getSheetByName('TARGET_SHEET');//ts=TARGET SHEET
//将目标范围设置为源数据的值
设置值(SData);
}
只需将
SOURCE
、SOURCE\u-SHEET
、TARGET
和TARGET\u-SHEET
替换为适合您需要的内容。出现错误,“TypeError:copydSheet.getDataRange(…).getValues(…).copyTo不是函数”。谢谢你的帮助。我已经编辑了我的答案,希望它现在能起作用。它也不起作用。也许是因为我复制的是一张纸,而不是一个范围。再编辑一次,它对我起作用了。它绝对起作用了。谢谢出现错误,“TypeError:copydSheet.getDataRange(…).getValues(…).copyTo不是函数”。谢谢你的帮助。我已经编辑了我的答案,希望它现在能起作用。它也不起作用。也许是因为我复制的是一张纸,而不是一个范围。再编辑一次,它对我起作用了。它绝对起作用了。谢谢
function copyTo() {
var source = SpreadsheetApp.openById("xxxxxxxxxxxxx"),
sheet = source.getSheetByName('ImportJSON'),
destination = SpreadsheetApp.getActiveSpreadsheet(),
destSheet = destination.getSheetByName('universe'),
copydSheet = sheet.copyTo(destination);
copydSheet.getDataRange().copyTo(destSheet.getDataRange(),{contentsOnly:true});
destination.deleteSheet(copydSheet);
}