使用Google Apps脚本将图像从驱动器插入电子表格单元格

人气:300 发布:2022-10-16 标签: google-apps-script

问题描述

我希望能够从Google Drive将图像文件添加到我的电子表格中。我看到有一个内置的图像功能=image,但这需要一个URL,并且图像文件应该在互联网上公开共享。但是,我正在使用数字资产,不能公开共享它们。

我有以下代码,这可以工作,但不会添加到所需的单元格。这真的可能吗?

function insertImageFromDrive(){
 
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  
  var fileId = '0B5UAkV0avfiKNGYtd1VzUzlsTVk';
  var img = DriveApp.getFileById(fileId).getBlob();
 
  
  sheet.insertImage(img, 4, 3)
}

推荐答案

尝试使用应用脚本中的指南Insert image in a spreadsheet:

function insertImageOnSpreadsheet() {
  var SPREADSHEET_URL = 'INSERT_SPREADSHEET_URL_HERE';
  // Name of the specific sheet in the spreadsheet.
  var SHEET_NAME = 'INSERT_SHEET_NAME_HERE';

  var ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
  var sheet = ss.getSheetByName(SHEET_NAME);

  var response = UrlFetchApp.fetch(
      'https://developers.google.com/adwords/scripts/images/reports.png');
  var binaryData = response.getContent();

  // Insert the image in cell A1.
  var blob = Utilities.newBlob(binaryData, 'image/png', 'MyImageName');
  sheet.insertImage(blob, 1, 1);
}

只需替换必要的值。指示您插入图像的单元格所在的部分:

sheet.insertImage(blob, 1, 1);

570