获取Google表格中的图片或Blob列表

时间:2017-01-11 22:14:49

标签: google-apps-script google-sheets

如何使用Google Apps脚本获取嵌入在Google电子表格中的图片或blob?对于图表,我使用Sheet.getCharts()来返回EmbeddedChart类型的数组。

使用Sheet.insertImage首先将图像嵌入到第一位是很简单,但我无法再次访问它?

1 个答案:

答案 0 :(得分:0)

这是一项工作,但可能对你有用。使用公式设置图像,然后更改公式并替换旧公式。如果有图像以外的公式,则只能返回图像公式:

function getImages() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var s=ss.getSheets()[0];
  var  str="https://upload.wikimedia.org/wikipedia/commons/b/b4/JPEG_example_JPG_RIP_100.jpg"
  var D1=s.getRange("D1").setFormula('=image("'+str+'", 4, 50, 100)')
  var str1="https://www.google.com/images/srpr/logo3w.png"
  var E1=s.getRange("E1").setFormula('=image("'+str1+'", 4, 50, 100)')
  var list = s.getDataRange().getFormulas() //get any cells with formulas
  var array=[]
//get array of image formulas only
for(var i=0;i<list.length;i++){
  for(var j=0;j<list[0].length;j++){
      var ts=list[i][j]
      var sbs=ts.substring(0,6)// get first 6 characters of formula
          if(sbs=="=image"){ // if = '=image'
      array.push(list[i][j])
  }}
  // do what you want to with the list of image formulas to change images. 
}}