关于前端:前端实现excel导出

32次阅读

共计 725 个字符,预计需要花费 2 分钟才能阅读完成。

网页中的实现形式

1. 引入所需的依赖文件
https://github.com/SheetJS/sh…
https://github.com/eligrey/Fi…

<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); // 保留为文件 

正文完
 0