将文件夹中可用的所有xls文件转换为" Google Doc Spreadsheets"?

时间:2014-08-18 16:44:50

标签: google-apps-script google-sheets google-drive-api

执行此操作的基本方法是在将文件上传到Google云端硬盘时进行转换。

另一种方法是选择文件夹中的xls文件并手动逐个转换。

但是,如果已经在文件夹中上传了许多xls文件,使用Google Apps脚本转换它们可能比再次重新上传文件更快。

就我而言:

  • 一旦转换,我需要删除xls文件
  • 所有xls文件都低于限制:“转换为Google电子表格格式的上载电子表格文件不能超过100 MB,每张纸需要不超过400,000个单元格和256列。” https://support.google.com/drive/answer/37603?hl=en

提前致谢;)

1 个答案:

答案 0 :(得分:3)

您应该使用Advanced Drive Servicefile update

此服务必须在使用前启用,但文档非常清楚。


编辑(发表评论后)

(抱歉长时间拖延,我忘了这篇文章)

此代码会将您驱动器中的每个XLS文件转换为Google电子表格格式(只要其名称的扩展名为.xls)

您必须授权Drive扩展资源+ API控制台(按照资源/高级服务菜单中的说明操作,请参见下图)

function importXLS(){
  var files = DriveApp.searchFiles('title contains ".xls"');// you can also use a folder as starting point and get the files in that folder... use only DriveApp method here.
  while(files.hasNext()){
    var xFile = files.next();
    var name = xFile.getName();
    if (name.indexOf('.xls')>-1){ // this check is not necessaey here because I get the files with a search but I left it in case you get the files differently...
      var ID = xFile.getId();
      var xBlob = xFile.getBlob();
      var newFile = { title : name+'_converted',
                     key : ID
                    }
      file = Drive.Files.insert(newFile, xBlob, {
        convert: true
      });
    }
  }
}

enter image description here