首页 > 解决方案 > 如何在excel js中下载带有图像的excel表

问题描述

我无法下载带有图像的 excel 表格。我正在使用 exceljs。数据正确附加,但是当涉及到图像时,它没有显示。我通过 json 获取数据并通过 javascript 附加到 excel 表中。

var workbook = new ExcelJS.Workbook();
var worksheet = workbook.addWorksheet('Worksheet name');

var imageId2 = workbook.addImage({
  filename: url + 'images/403.png',
  extension: 'png',
});

worksheet.addImage(imageId2, 'H12:N12');

var buff = workbook.xlsx.writeBuffer().then(function(data) {

  var blob = new Blob([data], {
    type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
  });
  saveAs(blob, compname + ".xlsx");
});

保存图像代码时,我无法下载 Excel 表。

标签: javascriptjsonexcelexceljs

解决方案


您需要使用 base64 图像才能使其工作:

 var myBase64Image = "data:image/png;base64,iVBORw0KG...";    
 var imageId1 = workbook.addImage({ 
    base64: myBase64Image,
    extension: 'png',
 });

推荐阅读