簡體   English   中英

如何使用谷歌腳本覆蓋具有相似名稱和數據的現有谷歌表格?

[英]How do I overwrite existing google sheet with similar name and data using google script?

我做了一些谷歌搜索/研究,下面的代碼最接近我想要完成的。

我有一個包含數據的電子表格,代碼的作用是查看源工作表的A列,並使用該列中的名稱創建新工作表,然后將與該名稱匹配的所有行數據傳送到新工作表。

這段代碼工作得很好,我將不勝感激修改它的幫助:

  • 而不是說“工作表已經存在” ,它應該只覆蓋具有相似名稱的工作表。
  • 復制匹配值時,應包括第一行( A1 ,標題行)

     function backUP() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var templateSheet = ss.getActiveSheet(); var sheet1 = ss.getSheetByName("Source") var getNames = [...new Set(sheet1.getRange("A2:A").getValues().filter(String).toString().split(","))]; for (var i = 0; i < getNames.length; i++) { var copy = ss.getSheetByName(getNames[i]); if (copy) { Logger.log("Sheet already exists"); } else { var rowIndexes = sheet1.getRange("A:A").getValues().map((value, index) => [value[0], (index + 1)]).filter(value => value[0] === getNames[i]); var namedSheet = ss.insertSheet(getNames[i]); rowIndexes.map(index => { var rowValues = sheet1.getRange(index[1], 1, 1, sheet1.getLastColumn()).getValues(); namedSheet.appendRow(rowValues[0]); }); ss.setActiveSheet(ss.getSheetByName(getNames[i])); ss.moveActiveSheet(ss.getNumSheets()); } } }

這對我有用。

 if (copy) { 

 ss.deleteSheet(copy)

 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM