如何使Google App脚本跳过错误并转到下一项

如何使Google App脚本跳过错误并转到下一项

Google App脚本 是一个脚本平台,允许您编写代码来自动化Google应用程序,如Google表格、Google文档和Gmail中的任务。使用Google App脚本,您可以创建自定义函数和脚本,用于扩展这些应用程序的功能。例如,您可以使用Google App脚本在Google表格电子表格中创建一个自定义函数,用于自动生成报告或执行计算。

它基于JavaScript,所以如果您有JavaScript的经验,您应该能够快速学习如何使用Google App脚本。除了JavaScript之外,Google App脚本还提供了许多内置的库和类,您可以使用这些库和类来访问和操作Google应用程序中的数据。

使用Google App脚本的一个关键优势是它允许您在不同的Google应用程序之间集成和自动化任务。例如,您可以使用Google App脚本自动从Google表格电子表格中提取数据,并将其用于在Google文档中创建新文档。这可以节省您大量的时间和精力,因为您可以自动化重复的任务,避免手动在不同的应用程序之间传输数据。

总的来说,Google App脚本是一个强大而灵活的工具,可以帮助您自动化任务并扩展Google应用程序的功能。无论您是初学者还是经验丰富的程序员,Google App脚本都提供了广泛的可能性,可以创建满足您特定需求的定制解决方案。

运行应用脚本代码的设置: 以下是您可以按照的步骤,设置Google表格API项目并启用API并使用您的Google帐户进行身份验证:

步骤1: 转到Google Cloud控制台应用脚本。

如何使Google App脚本跳过错误并转到下一项

步骤2: 选择或创建您想要用于Google Sheets API的项目。

如何使Google App脚本跳过错误并转到下一项

步骤3: 导航到API库。

步骤4: 搜索并选择Google Sheets API。

如何使Google App脚本跳过错误并转到下一项

步骤5: 启用API。

如何使Google App脚本跳过错误并转到下一项

步骤6: 导航至凭据页面。

步骤7: 点击“创建凭据”按钮,选择OAuth客户端ID。

步骤8: 选择“其他”应用程序类型,并为客户端ID命名(例如,“Google Sheets API Client”)。

步骤9: 点击“创建”按钮生成客户端ID和客户端秘钥,这将用于在代码中与API进行身份验证。

步骤10: 在使用API之前,需要在代码中安装必要的库并通过Google帐户进行身份验证。

问题陈述: 如何使我们的代码在解析Google表格时遇到错误行时仍然不停止运行。

假设我们正在解析一个包含1000行学生数据的Google表格,以找到一些有价值的洞察力,但是某一行的数据无效,并在运行时出现错误。我们将看看如何处理这种情况。

示例: 这是一个Google App Script的示例,用于从包含学生数据的Google Sheets电子表格中扫描1000个条目:

您可以通过转到Google Sheets菜单并选择“工具 > 脚本编辑器”来运行此脚本。然后,您可以将代码粘贴到脚本编辑器中并保存。最后,您可以通过单击脚本编辑器中的“播放”按钮来运行scanStudentData()函数。

Javascript

// Async function to retrieve data from  
// a Google Sheets spreadsheet and  
// log it to the console 
  
async function getSheetData() { 
    // Specify the spreadsheet ID  
    // and range of cells to access 
    const spreadsheetId = '1O6KRpqiwBDXd1nxLdO5TagfppoAfJo3fWqxe7J4VH9Y'; 
    const rangeName = 'Sheet1!A:E'; 
  
    try { 
        // Get the values from the spreadsheet  
        // using the specified ID and range 
        // The values property of the response  
        // object contains an array of rows  
        // from the specified range 
        const values = Sheets.Spreadsheets.Values 
            .get(spreadsheetId, rangeName).values; 
  
        // If no values are found, log a message and return 
        if (!values) { 
            console.log('No data found.'); 
            return; 
        } 
        // Iterate over each row in the values array 
        for (const row in values) { 
            // Try to log the row, and  
            // log any errors that occur 
            try { 
                console.log(values[row]); 
            } catch (err) { 
                console.log(err); 
            } 
        } 
    } catch (err) { 
        // If there is an error getting  
        // the values from the spreadsheet,  
        // log the error message 
        console.log(err.message); 
    } 
} 
  
// Async function to call  
// the getSheetData function 
async function main() { 
    // Call the getSheetData function 
    await getSheetData(); 
}

这段代码安装所需的库,设置要访问的Google Sheets的ID,设置要从工作表中检索的单元格范围,设置Google Sheets API客户端,设置客户端的凭据,使用Sheets API从指定范围检索数据,遍历工作表中的行,并对每行的学生数据进行处理(在这个例子中,它只是将学生数据打印到控制台)。

解释:

  • 这段代码使用Sheets API从Google Sheets电子表格检索数据。
  • 目标电子表格的ID和要访问的单元格范围被指定为常量。
  • getSheetData函数被定义为异步,允许它使用await关键字在收到API的响应之前暂停执行。
  • getSheetData函数向Sheets API发送请求,从电子表格中检索指定范围的单元格。
  • 如果API返回成功的响应,响应对象的values属性将存储在values变量中。
  • 如果响应中找不到值,则记录一条消息到控制台,并返回函数。
  • 如果找到值,则记录一条消息指示要打印的数据到控制台。
  • for循环遍历values数组中的每一行。
  • try块尝试将当前行记录到控制台。
  • 如果在记录行时发生错误,则catch块将错误记录到控制台。
  • for循环中的try和catch块允许函数在处理特定行时即使发生错误也能继续执行。
  • 如果在进行API请求时发生错误,则在for循环之外的catch块将错误消息记录到控制台。
  • main函数被定义为异步,并使用await关键字调用getSheetData函数。
  • main函数作为getSheetData函数的包装器,允许在代码中的其他位置调用它。
    getSheetData函数将电子表格中每个学生的姓名和专业打印到控制台。
  • 被访问的单元格范围被指定为’Sheet1!A:E’,意味着正在访问名为“Sheet1”的工作表上从A到E的所有单元格。
  • for循环遍历values数组中的每一行,并记录第一列和第五列(索引0和4)的值。
  • for循环中的try和catch块允许函数在处理特定行时即使发生错误也能继续执行。
  • 如果在进行API请求时发生错误,则在for循环之外的catch块将错误消息记录到控制台。
  • 这段代码允许使用Sheets API从Google Sheets电子表格检索和处理数据。

输出:

如何使Google App脚本跳过错误并转到下一项

这个输出是通过代码中的console.log语句生成的,它将工作表中每一行的学生数据打印到控制台。假设学生数据存储在工作表的前四列(即A列至D列),其中第一列包含学生的名字,第二列包含学生的姓氏,第三列包含学生的地址,第四列包含学生所在的城市。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程