有没有更快的方法在特定文件夹中创建 google 电子表格?
Is there a faster way to create google spreadsheet in specific folder?
朋友们大家好!
要在特定文件夹中创建新电子表格,我使用以下脚本
function create_ss_in_folder(folder, name) {
var ss = SpreadsheetApp.create(name);
var id = ss.getId();
var file = DriveApp.getFileById(id);
var new_file = file.makeCopy(name, get_folder_by_name(folder));
id = new_file.getId();
DriveApp.removeFile(file);
return id;
}
运行 花费了 8.4 秒,主要是由于 makeCopy 调用(6.672 秒)。
那么,是否有更快的方法在特定文件夹中创建 google 电子表格?
一般来说,这些类型的驱动器操作(创建、复制、删除)每次确实需要几秒钟的时间。
您可以加快速度,而不是将电子表格复制到文件夹中然后删除原始文件,只需将文件移动到文件夹中即可:
function create_ss_in_folder(folder, name) {
var ss = SpreadsheetApp.create(name);
var id = ss.getId();
var file = DriveApp.getFileById(id);
var folder = get_folder_by_name(folder);
folder.addFile(file);
DriveApp.getRootFolder().removeFile(file);
return id;
}
参见:https://developers.google.com/apps-script/reference/drive/folder
这应该可以为您节省几秒钟。
另一种选择是使用 Advanced Drive 服务,它应该允许您一步直接在所需文件夹内创建电子表格文件。我不确定这会快多少。
朋友们大家好! 要在特定文件夹中创建新电子表格,我使用以下脚本
function create_ss_in_folder(folder, name) {
var ss = SpreadsheetApp.create(name);
var id = ss.getId();
var file = DriveApp.getFileById(id);
var new_file = file.makeCopy(name, get_folder_by_name(folder));
id = new_file.getId();
DriveApp.removeFile(file);
return id;
}
运行 花费了 8.4 秒,主要是由于 makeCopy 调用(6.672 秒)。 那么,是否有更快的方法在特定文件夹中创建 google 电子表格?
一般来说,这些类型的驱动器操作(创建、复制、删除)每次确实需要几秒钟的时间。
您可以加快速度,而不是将电子表格复制到文件夹中然后删除原始文件,只需将文件移动到文件夹中即可:
function create_ss_in_folder(folder, name) {
var ss = SpreadsheetApp.create(name);
var id = ss.getId();
var file = DriveApp.getFileById(id);
var folder = get_folder_by_name(folder);
folder.addFile(file);
DriveApp.getRootFolder().removeFile(file);
return id;
}
参见:https://developers.google.com/apps-script/reference/drive/folder
这应该可以为您节省几秒钟。
另一种选择是使用 Advanced Drive 服务,它应该允许您一步直接在所需文件夹内创建电子表格文件。我不确定这会快多少。