微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Apps 脚本 - TypeError:data.forEach 不是函数

如何解决Google Apps 脚本 - TypeError:data.forEach 不是函数

我从 Youtube 复制了另一个开发者的代码。它从 Google Sheet 中提取数据并创建多个 PDF。我比 Javascript 更了解 Python,因此我的问题是。

代码如下:

function createBulkPDFs() {
  const docFile = DriveApp.getFileById("###");
  const tempFolder = DriveApp.getFolderById("###");
  const pdfFolder = DriveApp.getFolderById("###");
  const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DoE");
  const data = currentSheet.getRange(2,1,(currentSheet.getLastRow() - 1,4),9);
  data.forEach(row => {
    createPDF(row[1],row[2],row[3],row[0],row[4],row[5],row[6],row[7],row[8],docFile,tempFolder,pdfFolder,row[1] + " " + row[2]);
  });
}

我在其他线程上读到不应使用 row =>,但该视频是 2020 年 4 月创建的,所以我认为它是最新的编程。我意识到当我点击数据时它不会显示自动文本下拉列表中。

我想遍历 Google 表格中的每一行。

解决方法

我相信您的问题来自常量 data 的声明。当你说

const data = currentSheet.getRange(2,1,(currentSheet.getLastRow()-1,4),9)

因为上面的函数只需要4个参数。见Sheet.getRange(row,column,numRows,numColumns)

当简化您的 data 时,它变成:

currentSheet.getRange(2,x,4,9) 其中“x”是 currentSheet.getLastRow()-1

要解决此问题,您应该只传递 getRange 期望的 4 个参数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。