1、使用xlsx导出所有列
<el-button size="small" text type="primary" @click="exportToExcel"><template #icon><i class="ti-download" title="导出Excel"></i></template></el-button>
const exportTableRef = ref()
const exportToExcel = () => {const tableDom = exportTableRef.value?.$elif (!tableDom) {return}const wb = XLSX.utils.table_to_book(tableDom)XLSX.writeFile(wb, '表格数据.xlsx')
}
2、自定义导出列
function exportExcel() {// swal// .fire({// title: '是否要导出单元阀设备列表?',// text: '',// icon: 'warning',// confirmButtonText: '确定',// cancelButtonText: '取消',// showCancelButton: true// })// .then((result) => {// if (result.isConfirmed) {let headerArray = ['序号','项目名称','维修状态','地理位置','热源计划维修数量(个)','热源实际维修数量(个)','计划维修时间','计划结束时间','实际维修时间','实际结束时间','完成率(%)','方案文件']filteredData.value.forEach((item: any, index: any) => {item.index = index + 1})let data = [headerArray].concat(filteredData.value.map((element: any) => {let rowData = [element.index,element.projectName,// element.maintenanceStatus,element.maintenanceStatus == '0'? '未进行': element.maintenanceStatus == '1'? '进行中': '已完成',element.address,element.planMaintenanceHeatSource,element.actualMaintenanceHeatSource,moment(element.planMaintenanceTime).format('YYYY-MM-DD HH:mm'),moment(element.planEndTime).format('YYYY-MM-DD HH:mm'),moment(element.actualMaintenanceTime).format('YYYY-MM-DD HH:mm'),moment(element.actualEndTime).format('YYYY-MM-DD HH:mm'),element.completeRate,element.planFile == null ? '-' : element.planFile.originalFilename]return rowData}))let sheet = excelUtils.json_to_sheet(data, {skipHeader: true})let book = excelUtils.book_new()excelUtils.book_append_sheet(book, sheet)writeFile(book,'热源列表_' + moment(new Date()).format('YYYYMMDDHHmmss') + '.xlsx')// }// })
}