使用 xlsx 在 Excel 工作表中插入图像 - Node.js

Insert a image in a excel worksheet using xlsx - Node.js

提问人:TheOneWhoMightKnow 提问时间:5/1/2017 更新时间:8/9/2017 访问量:12448

问:

大家好,

我正在寻找任何可以帮助我解决我的问题的人。我正在尝试将使用 chart.js 生成的图表保存到 excel 文件中。现在,我可以将其保存为 png,但我不知道如何将其插入到以编程方式创建的 xlsx 文档中。

这是我保存图表的代码

    $('#myChart').get(0).toBlob(function(blob){
        saveAs(blob,filename);
     });

blob 变量包含图像(我使用 FileSaver 进行 saveAs 和 Canvas to Blob 来获取图像 blob)

这是我创建工作簿的代码

var wb = { SheetNames:[], Sheets:{} };
wb.SheetNames[0] = sheetName;
var worksheet = XLSX.utils.aoa_to_sheet(table);
wb.Sheets[sheetName] = worksheet;
wb.SheetNames[1] = 'ImageSheet';
wb.Sheets[wb.SheetNames[1]] = {}; <------- I had to insert an object 
                                           otherwise next line throws an exception
wb.Sheets[wb.SheetNames[1]]['!images'] =
     {
        name:'image1.jpeg',
        data: picBlob, <------------------ My blob from the code above
        opts: {base64 : true},
        position:{
            type: 'twoCellAnchor',
            attrs: {editAs:'oneCell'},
            from: { col: 2, row : 2 },
            to: { col: 6, row: 5 }
        }
    };

我从问题 #509 中举了这个例子:https://github.com/SheetJS/js-xlsx/pull/509。我尝试了一切,但似乎没有任何效果

当我打开它时,imageSheet页面是空的

如果您需要更多信息,请告诉我!

感谢您抽出宝贵时间阅读本文!

JavaScript 节点.js Excel 图表.js 电子表格

评论

1赞 TheOneWhoMightKnow 5/2/2017
似乎当前的发行版本不支持图像嵌入。有一个开发分支@mgreter但我决定寻求另一种解决方案。(xlsxwriter;它是用 python 和服务器端编码的)

答: 暂无答案