Как загрузить лист Excel с изображением в Excel js

#javascript #json #excel #exceljs

#javascript #json #excel #exceljs

Вопрос:

Я не могу загрузить лист Excel с изображениями. Я использую exceljs. Данные добавляются правильно, но когда дело доходит до изображения, оно не отображается. Я получаю данные через json и добавляю в лист Excel через javascript.

 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, сохраняя в нем код изображения.

Ответ №1:

Вам нужно использовать изображение base64, чтобы заставить его работать:

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