从驱动器添加图像到工作表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从驱动器添加图像到工作表相关的知识,希望对你有一定的参考价值。

我想创建一个保存在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);

}
答案

使用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)
}

编辑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)')
} 
  • = image(“URL”) - 图像在增加/减小单元格大小时保留纵横比
  • = image(“URL”,2) - 图像伸展以适合单元格的所有边缘
  • = image(“URL”,3) - 图像保留其原始大小
  • = image(“URL”,4,50,50) - 通过将50,50替换为所需尺寸来设置图像的大小

以上是关于从驱动器添加图像到工作表的主要内容,如果未能解决你的问题,请参考以下文章

需要工作表脚本将图像保存到驱动器

用于将 google drive 中的文件名列表与 google sheet 列中的名称列表进行比较的 Apps 脚本,以将新文件从驱动器添加到工作表

从底部工作表对话框片段中获取价值

视图重新添加到视图寻呼机中的片段

如何将图像从 url 沿侧输入类型文件加载到 html5 画布?

以编程方式将按钮添加到片段