JavaScript 通过exceljs前端导出并下载excel
步骤
- 安装相关的依赖库exceljs,本文所使用版本4.3.0
npm i exceljs
- 在对应的文件中引入该库,示例环境为Vue
import ExcelJS from 'exceljs'
- 创建buffer,后面有对应的参数内容
const workbook = new ExcelJS.Workbook()
const sheet = workbook.addWorksheet('数据表名')
sheet.addTable({
ref: 'A1',
columns: this.columns,
rows: tableRows,
})
const buffer = await workbook.xlsx.writeBuffer()
- 写下载方法
// 通过blob的方式进行下载
download(_blob, filename) {
const blob = new Blob([_blob])
const downloadElement = document.createElement('a')
downloadElement.style.display = 'none'
const href = window.URL.createObjectURL(blob) // 创建下载的链接
downloadElement.href = href
downloadElement.download = filename // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click() // 点击下载
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(href) // 释放掉blob对象
}
- 下载
this.download(buffer, 'test.xlsx')
代码中参数内容
const tableRows = [
["2022年",0,0],["2021年",0,0],["2020年",0,0],
]
this.columns = [{ name: "列1测试"}, { name: "总计"},{name: "数据"}]