欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > vue3使用xlsx库导出el-table数据

vue3使用xlsx库导出el-table数据

2024/10/25 22:33:43 来源:https://blog.csdn.net/weixin_72439307/article/details/142793442  浏览:    关键词:vue3使用xlsx库导出el-table数据

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')//   }// })
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com