需要谷歌表格脚本来下载二维码作为图像并保存到谷歌驱动器

Sur*_*rya 1 qr-code google-sheets google-apps-script

[这就是我所拥有的]

1我的 A2 栏中有候选人姓名。我正在使用以下公式为 B2 列中的所有名称创建 QR 码:

=image("https://api.qrserver.com/v1/create-qr-code/?size=300x300&data="&encodeurl(A2))
Run Code Online (Sandbox Code Playgroud)

两列中都有大约 500 个姓名及其各自的二维码。现在我想将所有 QR 码作为图像文件(PNG/JPEG)保存到 Google Drive 中的一个文件夹中,并使用它们各自的名称。任何人都可以帮助我使用谷歌应用程序脚本吗?

我已经搜索了很多,但我所能得到的只是一些复杂的脚本,我无法将其转换为我需要的!

提前致谢!

zig*_*hka 5

您甚至不需要将二维码插入工作表中

相反,您可以使用UrlFetchApp直接获取它们,并使用简单的脚本将其保存在您的云端硬盘上。

样本:

function myFunction() {
  var sheet = SpreadsheetApp.getActive().getActiveSheet();
  var data = sheet.getRange("A2:A" + sheet.getLastRow()).getValues().flat();
  for (var i = 0; i < data.length; i++){
    var url = "https://api.qrserver.com/v1/create-qr-code/?size=300x300&data="+encodeURIComponent(data[i]);
    var blob = UrlFetchApp.fetch(url).getBlob();
    DriveApp.createFile(blob).setName(data[i]);
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 因为 `getFoldersByName` 意味着此方法检索具有给定名称的所有文件夹(可以多个),因此您需要选择一个,例如 `getFoldersByName(name)[0].createFile(blob)`。如果您知道文件夹的“id”,则使用“getFolderById(folderId).createFile(blob)”更有意义 (2认同)