我遇到了Excel javascript API的Chart.getImage()方法的问题。 与从VBA生成的图像不同,来自javascript API的图像显示未与图像边界正确对齐的图表。
我仅在Windows 10上的Excel客户端版本16.0.6965.2117上进行了测试,并且在Windows上启用了高DPI,缩放率为175%。事情在100%时变得更好,但结果图像仍然不是像素完美。
以下是演示此问题的代码段。如果图表在图像边界上对齐,则红色不应显示在图表周围,因为剩余空间填充了透明度。
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;" />');
});
});
});
}
有没有人有反馈来提供此方法在其他平台上的行为?
答案 0 :(得分:0)
Chart.getImage()问题已于几个月前解决。请升级到最新的Excel客户端,然后重试。如有任何问题,请与我联系。