首页 > 解决方案 > 插入的图像未显示在 Google 电子表格中

问题描述

当我尝试使用以下代码在 Google 电子表格中插入图像时,它的工作原理。

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

但是当我尝试设置图像的宽度和高度时,图像没有出现在 Google 电子表格中。

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

只有在手动刷新浏览器时才会出现。

标签: google-apps-scriptgoogle-sheets

解决方案


  • 当使用脚本将图像放入工作表时,不会显示图像setWidth()setHeight()

如果我的理解是正确的,这个答案怎么样?

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

模式一:

更改选项卡时,将显示图像。在这个模式中,我使用了这个。当你的脚本被修改后,它变成如下。

示例脚本:

在使用此脚本之前,请再添加一张工作表名称为“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();

模式二:

在这个模式中,图片放好后,修改图片的宽高。

示例脚本:

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

参考:

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


推荐阅读