将图像从云端硬盘添加到工作表

Rob*_*ler 2 google-sheets google-apps-script google-drive-api

我想创建一个保存在 G Drive 中的签名 png 文件,并将其粘贴到带有菜单项的单元格中。我已将图像设置为公开并尝试使用共享 URL,但这无法添加 =IMAGE 或以编程方式执行此操作。我已经尝试了互联网上的各种代码,但迄今为止都没有成功。最后一次尝试列出的代码。

function mysig() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var rng = sheet.getRange(34,6);
  var url = "https://drive.google.com/file/d/id/view?usp=sharing"
  var fetch_img = UrlFetchApp.fetch(url);
  var blob = fetch_img.getBlob();
  Logger.log(fetch_img.getBlob())
  sheet.insertImage(blob, 6, 34);

}
Run Code Online (Sandbox Code Playgroud)

Rit*_*itz 5

使用 Drive App 生成 google 驱动器映像的 blob。参考下面的代码。

function insertImage() {
  var openSpreadSheet = SpreadsheetApp.openById("spreadSheetID").getSheetByName("Sheet1");
  var getImageBlob = DriveApp.getFileById("GooglDriveImageID").getBlob();//0B5JsAY8jN1CoNjlZR2tUUHpISFE
  openSpreadSheet.insertImage(getImageBlob,2,2,100,200); //insertImage(blob, column, row, offsetX, offsetY)
}
Run Code Online (Sandbox Code Playgroud)

编辑 2:使用图像公式 - 匹配单元格大小

function insertImage() {
  var openSpreadSheet = SpreadsheetApp.openById("spreadSheetID").getSheetByName("Sheet1");
  var url = "https://docs.google.com/uc?export=download&id=0B5JsAY8jN1CoNjlZR2tUUHpISFE";
  openSpreadSheet.getRange(5, 3).setFormula('=image("'+url+'",2)')
} 
Run Code Online (Sandbox Code Playgroud)
  • =image("URL") – 图像在增加/减少单元格大小的同时保持纵横比

  • =image("URL",2) – 图像拉伸以适应单元格的所有边缘

  • =image("URL",3) – 图像保持其原始大小

  • =image("URL",4,50,50) – 通过将 50,50 替换为所需尺寸来设置图像的大小