使用Google脚本将自定义CSV文件替换为Google驱动器中的另一个CSV文件

问题描述

我想用一个新的csv文件替换一个包含在单元格A1处的值的csv文件,该csv文件又包含一个在单元格A1处的值,但另一个值。下面的代码成功创建了我想要的,但是它不会替换当前的csv文件,它只是创建了新的csv文件,而我最终在Google驱动器中得到了很多文件。我该怎么做才能替换它?非常感谢

function replace() {
      var str = "test";
      var folder = DriveApp.getFolderById("folderID");
      var fileName = "add-list.csv";
      var csvFile = str;
      var file = folder.getFilesByName(fileName)
      
     folder.createFile(fileName,csvFile);

}

解决方法

您非常亲密。替换目标csv文件之前,需要查看它是否存在。

function replace() {
      var str = "test";
      var folder = DriveApp.getFolderById("folderId");
      var fileName = "add-list.csv";
      var csvFile = str;
      var file = folder.getFilesByName(fileName)
      
      if (file.hasNext()){
     file.next().setTrashed(true) }
     folder.createFile(fileName,csvFile);
    
    }

说明:

if (file.hasNext()){
         file.next().setTrashed(true) }
         folder.createFile(fileName,csvFile);

这将检查文件是否存在。如果是这样,它将替换它,否则它将创建一个新的。