javascript - 如何在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 表。
解决方案
您需要使用 base64 图像才能使其工作:
var myBase64Image = "data:image/png;base64,iVBORw0KG...";
var imageId1 = workbook.addImage({
base64: myBase64Image,
extension: 'png',
});
推荐阅读
- mysql - 使用 GROUP BY 优化的慢速 SQL 查询
- java - JBoss Modules:如何从模块运行服务?
- javascript - 无法更改函数内部的全局变量(JavaScript)
- php - Symfony - 教义关系 - 返回具有空值的关系模型
- javascript - 承诺所有,得到多余的结果
- google-api - Google APi 错误请求
- spring - 如何使用 Spring 配置文件表达式?
- codeigniter - 带有 dropzone 和参数的 Codeigniter 上传文件
- ruby-on-rails - Rails + Devise:跨子域共享会话变量
- scala - 后续 RewriteRules 不会转换在先前转换中添加的元素