如何解决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 举报,一经查实,本站将立刻删除。