You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
842 B
JavaScript
33 lines
842 B
JavaScript
2 years ago
|
import FileSaver from "file-saver";
|
||
|
import XLSX from "xlsx";
|
||
|
|
||
|
const htmlToExcel = {
|
||
|
getExcel(dom, title = "表格") {
|
||
|
// 设置当前日期
|
||
|
const time = new Date();
|
||
|
const year = time.getFullYear();
|
||
|
const month = time.getMonth() + 1;
|
||
|
const day = time.getDate();
|
||
|
const name = year + "-" + month + "-" + day;
|
||
|
|
||
|
const wb = XLSX.utils.table_to_book(document.querySelector(dom));
|
||
|
/* 获取二进制字符串作为输出 */
|
||
|
const wbout = XLSX.write(wb, {
|
||
|
bookType: "xlsx",
|
||
|
bookSST: true,
|
||
|
type: "array",
|
||
|
});
|
||
|
try {
|
||
|
FileSaver.saveAs(
|
||
|
new Blob([wbout], { type: "application/octet-stream" }),
|
||
|
name + title + ".xlsx"
|
||
|
);
|
||
|
} catch (e) {
|
||
|
if (typeof console !== "undefined") console.log(e, wbout);
|
||
|
}
|
||
|
return wbout;
|
||
|
},
|
||
|
};
|
||
|
|
||
|
export default htmlToExcel;
|