1,安装插件
npm install --save [email protected]
npm install --save [email protected]
2,创建js文件编写代码
import FileSaver from 'file-saver';
import * as XLSX from 'xlsx';
// 导出Excel表格
export function exportExcel(name, tableName) { //name表示生成excel的文件名 tableName表示表格的id let sel = XLSX.utils.table_to_book(document.querySelector(tableName)) let selIn = XLSX.write(sel, { bookType: 'xlsx', bookSST: true, type: 'array' }) try { FileSaver.saveAs( new Blob([selIn], { type: 'application/octet-stream' }), name ) } catch (e) { if (typeof console !== 'undefined') console.log(e, selIn) } return selIn } 3,在组件里面引用 exportExcel("汇总成绩报告.xlsx", "#tableData"); 4,原理 首先,使用id选择器获取到table表格, 然后,使用XLSX.utils.table_to_book()
方法将这个表格 DOM 元素转换为一个 workbook 对象,
table_to_book()
方法会将表格中的每个单元格的数据提取出来,并按照 Excel 的格式转换成一个 workbook
对象。
最后,利用 XLSX.write()
方法将 workbook 对象导出一个名为‘汇总成绩报告’的Excel文件,
这一步会将 workbook
对象转换为二进制的 Excel 文件,并触发文件下载到用户的设备上。
标签:XLSX,vue,表格,xlsx,selIn,excel,workbook,table
From: https://www.cnblogs.com/fxw1996/p/17732407.html