对应代码:
exportExcel() {
// 导出的表头
let columns = [
{ name: '90-100分' },
{ name: '80-89分' },
{ name: '70-79分' },
{ name: '60-69分' },
{ name: '0-59分' }
]
// 引入 exceljs,自己灵活引入
let exceljs = require('exceljs')
let excel = new exceljs.Workbook()
let monthSheet = excel.addWorksheet('excel的文件名')
monthSheet.addTable({
// 插入到多少行,自己设置
ref: 'A20',
style: {
// 风格
theme: 'TableStyleLight11'
},
columns,
// 表体的内容,与表头顺序对应
rows: this.tableData.map((one, i) => [one.stage9, one.stage8, one.stage7, one.stage6, one.stage5])
})
columns.forEach((item, i) => {
// 设置样式,更多样式去看文档
monthSheet.getColumn(i + 1).width = 10
monthSheet.getColumn(i + 1).alignment = { vertical: 'middle', horizontal: 'center' }
})
excel.xlsx.writeBuffer().then((buffer) => {
// file-savel是用于把文件下载下来的,用别的也可以
let saver = require('file-saver')
saver.saveAs(new Blob([buffer], { type: 'application/octet-stream' }), '巴长能力分布一.xlsx')
})
}
关键代码:
columns.forEach((item, i) => {
monthSheet.getColumn(i + 1).width = 10
monthSheet.getColumn(i + 1).alignment = { vertical: 'middle', horizontal: 'center' }
})