https://github.com/SheetJS/sheetjs
https://github.com/eligrey/FileSaver.js
<script src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.min.js"></script>
<script lang="javascript" src="dist/xlsx.full.min.js"></script>
2.s2ab函数
function s2ab(s) {
const buf = new ArrayBuffer(s.length);
const view = new Uint8Array(buf);
for (let i = 0; i !== s.length; ++i) {
view[i] = s.charCodeAt(i) & 0xFF;
};
return buf;
}
3.所需要的数据结构
[
["列A", "列B"], // 这将作为excel文件的标题
[1,2]
]
4.一个例子
let data = [
["列A", "列B"],
[3,4]
];
let wopts = { bookType:'xlsx', type:'binary' };
let fileName = "bill.xlsx";
const ws = XLSX.utils.aoa_to_sheet(data);
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
const wbout = XLSX.write(wb, wopts);
saveAs(new Blob([s2ab(wbout)]), fileName); // 保存为文件
nodejs中生成excel的库很多,在尝试后,个人认为对于简单的需求(按行添加),使用node-xlsx就足够了。因为属于第三方模块,所以肯定要npm一下,然后引入。在代码中引入模块;
使用vue导出表格数据至Excel表格中,自定义导出的excel表格数据,我找到一些文章,但是上面有好多是直接导出当前已渲染的表格中的数据,并不能够自定义导出所有数据
这次记录的是昨晚一个想法:把excel内容复制到剪切板并转成自己想要的json格式,核心是要把excel内容转json,这部分主要看excel的格式和json如何业务的映射,不展开。倒是通过实践,收获了剪切板的一些知识点。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!