我想复制一个sheet#1
内容,以覆盖另一个sheet#2
的内容,但不像我的代码目前所做的那样删除sheet#2
。
有什么API可以这样做吗?
newGSheet.getSheets()[0].copyTo(oldGSheet);
var oldSheet = oldGSheet.getSheetByName('Sheet1');
if (oldSheet != null) {
oldGSheet.deleteSheet(oldSheet);
oldGSheet.getSheetByName('Copy of Sheet1').setName('Sheet1');
}
发布于 2020-11-02 08:04:00
解释:
逻辑会很简单。
newSheet
的数据newData
,这是一个2D数组.oldGSheet
中是否存在Sheet1
。如果不存在,请将newSheet
复制到oldGSheet
并将其命名为Sheet1
。如果Sheet1
已经存在,那么清除它的内容并粘贴(设置) newData
到它.解决方案:
const newSheet = newGSheet.getSheets()[0];
// get the data of newSheet
const newData = newSheet.getRange(1,1,newSheet.getLastRow(),newSheet.getLastColumn()).getValues();
const oldSheet = oldGSheet.getSheetByName('Sheet1');
// if Sheet1 does not exists, then create it.
// if Sheet1 exists, clear its contents and paste newData
if(oldSheet == null){
newSheet.copyTo(oldGSheet).setName('Sheet1');
}
else {
oldSheet.clearContents();
oldSheet.getRange(1,1,newData.length,newData[0].length).setValues(newData);
}
https://stackoverflow.com/questions/64638817
复制相似问题