Google apps script 使用getSheetByName函数时出现问题
我正在尝试从文件夹中的Google Sheets文件导入数据 此文件夹中的某些文件在文件中没有工作表名称“采购订单”,因此我得到的响应为空Google apps script 使用getSheetByName函数时出现问题,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试从文件夹中的Google Sheets文件导入数据 此文件夹中的某些文件在文件中没有工作表名称“采购订单”,因此我得到的响应为空 function import() { var spreadsheets = DriveApp. getFolderById("1AE-GotVyCaxlEF04kfedXytn65oxJ2hi"). getFilesByType(MimeType.GOOGLE_SHEETS); var data = []; wh
function import() {
var spreadsheets = DriveApp.
getFolderById("1AE-GotVyCaxlEF04kfedXytn65oxJ2hi").
getFilesByType(MimeType.GOOGLE_SHEETS);
var data = [];
while (spreadsheets.hasNext()) {
var currentSpreadsheet =
SpreadsheetApp.openById(spreadsheets.next().getId());
data = data.concat(currentSpreadsheet.
getSheetByName("Purchase order").
getRange("A13:H50").
getValues());
}
SpreadsheetApp.
getActiveSheet().
getRange(1, 1, data.length, data[0].length).
setValues(data);
}
有更好的方法可以做到这一点。 查看将所需数据推入数组并将数组写入电子表格
function import() {
var spreadsheets = DriveApp.
getFolderById("1AE-GotVyCaxlEF04kfedXytn65oxJ2hi").
getFilesByType(MimeType.GOOGLE_SHEETS);
var data = [];
while (spreadsheets.hasNext()) {
var currentSpreadsheet = SpreadsheetApp.openById(spreadsheets.next().getId());
var sheetName = currentSpreadsheet.getActiveSheet().getSheetName();
if (sheetName === "Purchase order"){
data = data.concat(currentSpreadsheet.getSheetByName("Purchase order").getRange("A13:H50").getValues());
} else{continue} //edit made
}
SpreadsheetApp.
getActiveSheet().
getRange(1, 1, data.length, data[0].length).
setValues(data);
}
欢迎来到堆栈溢出!其他用户将您的问题标记为低质量和需要改进。我对您的输入进行了重新措辞/格式化,使其更易于阅读/理解。请查看我的更改,以确保它们反映您的意图。但我认为你的问题仍然无法回答。您现在应该回答您的问题,以添加缺少的详细信息(请参阅)。如果您还有其他问题或反馈,请随时给我留言。问题是什么?您的代码没有试图处理该工作表名称不存在的情况-我们是否应该猜测在这些情况下会发生什么并编写代码来处理它?预期的结果是什么?您的方法无法解决OP面临的问题,即具有给定名称的工作表可能不存在(在这种情况下,对变量调用方法将失败)。嗯,你是对的。应该添加一个else{continue}。如果它不是采购订单,这将跳过工作表。你混淆了
电子表格
类对象和工作表
类对象