插入的图像未显示在Google电子表格中

时间:2019-07-29 06:35:22

标签: google-apps-script google-sheets

当我尝试使用下面的代码在Google Spreadsheet中插入图片时。

var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
var image = activeSheet.insertImage(pngUrl, 1, 1);

但是当我尝试设置图像的宽度和高度时,图像未出现在Google Spreadsheet中。

var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var image = activeSheet.insertImage(pngUrl, 1, 1).setWidth(300).setHeight(300);

仅在手动刷新浏览器时显示。

1 个答案:

答案 0 :(得分:0)

  • 使用脚本将setWidth()setHeight()的图像放置到工作表上时,图像不会显示。

如果我的理解正确,那么这个答案如何?

在您的脚本中,图像肯定放到了图纸上。但是图像未显示在工作表中。我遇到了这种情况。我认为这可能是一个错误。在这种情况下,以下解决方法如何?

模式1:

更改选项卡后,将显示图像。在这种模式下,我使用了它。修改脚本后,它如下所示。

示例脚本:

在使用此脚本之前,请再添加一张工作表名称为“ Sheet2”的工作表。并且此脚本假定活动工作表不是“ Sheet2”。

var pngUrl = "###"; // Please set this.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();

Logger.log(activeSheet.getImages().length) // <--- 0

var image = activeSheet.insertImage(pngUrl, 1, 1).setWidth(300).setHeight(300);

Logger.log(activeSheet.getImages().length) // <--- 1 By this, it is found that the image is put.

// I added below script.
ss.getSheetByName("Sheet2").activate();
SpreadsheetApp.flush();
activeSheet.activate();

模式2:

在这种模式下,放置图像后,将修改图像的宽度和高度。

示例脚本:

var pngUrl = "###"; // Please set this.
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

activeSheet.insertImage(pngUrl, 1, 1); // Modified
var img = activeSheet.getImages()[0].setWidth(300).setHeight(300); // Added

参考:

如果我误解了您的问题,而这不是您想要的方向,我深表歉意。