rangeObject.GetImage()在Windows的Excel中运行良好,在Excel Online中部分运行,并在Excel for Mac 16.16.1。中返回上下颠倒的图像。
我使用range.getImage()获取确切范围内的图片。然后将其用于其他Office应用程序。
在Excel for Windows(版本1806)中,它可以按我希望的那样完美地工作。它会粘贴到范围内的任何内容,包括单元格内容,图像,形状等。粘贴在范围内。
在Excel Online中,它只是获取单元格内容,包括文本,边框,背景色和条件格式,但其他条件除外粘贴在范围顶部的内容。
在Excel for Mac(版本16.15)中,它仅返回黑色图像(具有正确的尺寸)。
要在脚本实验室中重复该问题:选择一个包含一些内容的范围,然后运行此代码:
$("#run").click(run);
function run() {
Excel.run(function (ctx) {
var rng = ctx.workbook.getSelectedRange();
var image = rng.getImage();
return ctx.sync().then(function () {
var srcImage = "data:image/png;base64, " + image.value;
$("#img").attr("src", srcImage);
});
}).catch(function (error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
}
<p class="ms-font-m">Shows the range image below</p>
<button id="run" class="ms-Button">
<span class="ms-Button-label">Run code</span>
</button><br/>
<img id="img" src="" alt="" />
这是已知问题吗? method(API 1.7中的新增功能)在各个平台之间会变得一致吗?如果是,什么时候?
是,这是一个已知问题。我们的团队已尝试解决此问题,但是代码未检入,因为根据团队的调查,这不是错误级别的修复,它可能会导致其他潜在问题。 2585831是我们正在跟踪的工作项。