我试图将数据复制到另一个工作表中,就像创建各种存档一样,但是它也在复制公式,使其成为活动工作表,而不是仅获取显示的数据。
我环顾四周,但似乎没有人回答我在寻找什么。 大多数解决方案仅适用于CopyTo方法和对我不起作用的{contentOnly:true}。
function archiving() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var defectSheet = ss.getSheetByName('Total Defects');
var ts = 'Archived_Total Defects '+ new Date().toISOString().slice(0,10);
ss.insertSheet(ts, ss.getSheets().length, {template: defectSheet});
}
是确实创建了新工作表,但它会带走所有信息,而不仅仅是显示的值。
答案 0 :(得分:1)
代替
ss.insertSheet(ts, ss.getSheets().length, {template: defectSheet});
您可以运行
var sheet = ss.insertSheet(ts, ss.getSheets().length, {template: defectSheet});
sheet.getDataRange().copyTo(sheet.getDataRange(), {contentsOnly:true});
这会将每个单元格的值复制到新工作表而不是公式中。