google-apps-script - 插入的图像未显示在 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);
只有在手动刷新浏览器时才会出现。
解决方案
- 当使用脚本将图像放入工作表时,不会显示图像
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
参考:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
推荐阅读
- android - 未解决的参考:android
- crystal-lang - 在 Crystal 中使用 splats 参数调用方法
- c++ - 试图让我的第一个程序循环(c++)
- smtp - 使用 mailx 发送内联 html (Heirloom mailx 12.4)
- crystal-lang - 有什么方法可以在 Crystal 中启用 Float 和 Int 吗?
- notepad++ - 通过使用 Notepad++ 查找/替换在“=”的每一侧交换文本来替换
- javascript - 如何在 Javascript 中为文档类型模型编写验证。?
- spring - Spring MVC + thymeleaf:如何允许空输入?
- ios - 如何让 CollectionView 仅在下半部分加载图像,同时仍允许在顶部显示静态内容
- python - 如何计算前缀行的平均值并将其作为熊猫中的新列?