javascript - 尝试将文件夹中的所有 google 表格文件导入电子表格,所有列标题都相同
问题描述
我需要能够从驱动器中的文件夹中获取所有文件并将数据输入电子表格。我还在创建一个菜单选项卡,这样我就可以运行脚本而无需进入编辑器。如果我可以创建一种方法来输入现有文件夹名称的名称,而无需总是转到脚本以执行该额外步骤,那就太好了。这是我正在使用的脚本。我真的需要这方面的帮助。
function importTimesheets() {
var spreadsheets = DriveApp.
getFolderById("").
getFilesByType(MimeType.GOOGLE_SHEETS);
var data = [];
while (spreadsheets.hasNext()) {
var currentSpreadsheet = SpreadsheetApp.openById(spreadsheets.next().getId());
data = data.concat(currentSpreadsheet
.getSheetByName('Timesheet')
.getRange("A3:L10")
.getValues()
);
}
SpreadsheetApp.
getActiveSheet().
getRange(1, 1, data.length, data[0].length).
setValues(data);
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Generate Timesheets')
.addItem('Generate', 'importTimesheets')
解决方案
据我了解,您正在尝试为这行代码寻找解决方案,目前您必须手动输入 ID。
DriveApp.getFolderById("")
我的建议是提示用户输入文件夹 ID,因为如果多个文件夹具有相同的名称,提示输入文件夹名称可能会导致错误。我的建议执行如下:
const folderId = SpreadsheetApp.getUi().prompt("Please enter the Folder Id").getResponseText()
const folder = DriveApp.getFolderById(folderId)
您还可以使用 Google 文件/文件夹选择器,如此处所述来搜索和选择文件夹。
推荐阅读
- ejabberd - eJabberd 注册 - 服务策略拒绝访问
- c++ - 包含带有 clang 格式的转发标头的顺序
- javascript - 在按钮单击事件上通过 Ajax 上传文件并发布表单
- python - 如何将日期与熊猫中的字符串进行比较?
- html - 数字卡显示垂直而不是水平
- javascript - app.ts 未在 plunkr 上呈现
- android - 从内存 Android Studio 获取图像时出错
- java - 尝试输入整数值时 System.in.read() 行为不端
- php - simpelXMLElement 属性命名空间
- jquery - 如何使用 JQuery 获得第一个孩子的身高?