【问题标题】:How to get an image of an Excel chart out of javascript API Chart.getImage()?如何从 javascript API Chart.getImage() 中获取 Excel 图表的图像?
【发布时间】:2018-09-11 11:29:10
【问题描述】:

我遇到了 Excel javascript API 的 Chart.getImage() 方法的问题。 与从 VBA 生成的图像不同,来自 javascript API 的图像显示的图表未与图像边界正确对齐。

我仅在 Windows 10 上的 Excel 客户端版本 16.0.6965.2117 上进行了测试,并且在 Windows 上以 175% 的缩放比例启用了高 DPI。事情在 100% 时变得更好,但生成的图像仍然不是像素完美的。

这里有一个代码 sn-p 来演示这个问题。如果图表在图像边界上对齐,则红色不应显示在图表周围,因为剩余空间已被透明度填充。

Office.initialize = function (reason) {
    $(document).ready(function () {
        Excel.run(function (ctx) {
            var worksheet = ctx.workbook.worksheets.getActiveWorksheet();
            var chart = worksheet.charts.getItemAt(0).load();
            var chartImgStream = null;

            return ctx.sync()
                .then(function () {
                    chartImgStream = chart.getImage();
                })
                .then(ctx.sync)
                .then(function () {
                    $('#content-main').html('<img src="data:image/png;base64,'+chartImgStream.value+'" style="background-color: red;" />');
                });
        });
    });
}

是否有人对此方法在其他平台上的行为有反馈意见?

【问题讨论】:

  • 我们将测试此问题并返回。谢谢。

标签: excel charts office-js


【解决方案1】:

高缩放设备上的 Chart.getImage() 问题已在几个月前解决。请升级到最新的 Excel 客户端并重试。如果仍有任何问题,请与我联系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-09
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 2021-12-04
    • 1970-01-01
    • 2023-02-10
    相关资源
    最近更新 更多