1.处理数据
// res为传递的数据,filename为文件名
function arrayToExcel(array) {
// 将一个二维数组 (array) 转换为 Excel 工作表对象 (ws)。这个数组的每一行代表 Excel 中的一行数据。
var ws = XLSX.utils.aoa_to_sheet(array);
// 创建一个新的工作簿对象 (wb)。这是一个空的 Excel 文件,可以向其中添加工作表。
var wb = XLSX.utils.book_new();
// 将之前创建的工作表 (ws) 添加到工作簿 (wb) 中,并命名为 “Sheet1”。
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
// 将工作簿 (wb) 写入一个 Excel 文件,指定文件类型为 'xlsx',输出格式为数组 (type: 'array')。最终的结果存储在 wbout 变量中。
var wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
return wbout;
}
const excelData = arrayToExcel(res);
2.下载
const blob = new Blob([excelData], { type: 'application/octet-stream' });
const url = URL.createObjectURL(blob);
const elink = document.createElement('a');
elink.href = url;
elink.download = `${fileName}.xlsx`;
elink.style.display = 'none';
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(url);
document.body.removeChild(elink);
console.log('导出成功');