Office.js Excel-range.getImage()的问题

问题描述 投票:1回答:1

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)中,它仅返回黑色图像(具有正确的尺寸)。

  • 在Excel for Mac(版本16.16.1和16.18)中,它返回的上下图像颜色不正确(蓝色而不是黑色)。它还没有在该范围的顶部插入形状/图像。

要在脚本实验室中重复该问题:选择一个包含一些内容的范围,然后运行此代码:

$("#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中的新增功能)在各个平台之间会变得一致吗?如果是,什么时候?

也在此处添加:https://github.com/OfficeDev/office-js/issues/235

excel office-js
1个回答
0
投票

是,这是一个已知问题。我们的团队已尝试解决此问题,但是代码未检入,因为根据团队的调查,这不是错误级别的修复,它可能会导致其他潜在问题。 2585831是我们正在跟踪的工作项。

© www.soinside.com 2019 - 2024. All rights reserved.