注:如遇到复杂表格时可用此方法做前端导出
导出事件
handleDown() {var html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementsByTagName("table")[0].outerHTML + "</body></html>";var blob = new Blob([html], { type: "application/vnd.ms-excel" });var a = document.getElementsByTagName("a")[0];a.href = URL.createObjectURL(blob);a.download = "每日检查记录表.xls";
}
页面样式
<template><div class="mod-config"><div style="width: 100%"><div id="demo"><div class="toptitle" @click="handleDown"><a>下载</a></div><table border="1" class="table_style"><tbody><tr style="font-weight:bold"><td rowspan="1">点检人</td><td rowspan="1"></td><td colspan="1"><div>点检日期:</div>20 年 月 日</td><td colspan="1" width="50">审核人</td><td colspan="2"></td></tr><tr style="font-weight:bold"><td width="50">序号</td><td width="90">设备和设施</td><td width="120">巡视检查内容</td><td width="60">正常</td><td width="50">异常</td><td>相关说明</td></tr><template v-for="(item, i) in tableList" :key="'aaa'+i"><template v-for="(itemj, j) in item.childList" :key="'bbb'+j"><tr><td :rowspan="item.childList.length" v-if="j==0" style="text-align:center">{{i+1}}</td><td :rowspan="item.childList.length" v-if="j==0">{{ item.checkcontent }}</td><td>{{itemj.name}}</td><td>{{itemj.status==1?'正常':''}}</td><td>{{itemj.status!=1?'故障':''}}</td><td>{{itemj.describe}}</td></tr></template></template></tbody></table></div></div></div>
</template><script>
export default {name: "PdfDemo",data() {return {tableList: [{checkcontent: "生产设施",childList:[{ name: '生产设施运行负荷', status: 1, describe:'生产负荷变大,VOCs 治理设施运行负荷增大'},],},{checkcontent: "VOCs治理设施",childList:[{name: '总用电量及其它能源耗量', status: 1, describe: '用电量、燃料等能耗变化,指征VOCs治理设施运行负荷变化'},],},{checkcontent: "密闭排风设施",childList:[{ name: '设施周边气味状况', status: 1, describe:'气味变大,密闭性变差'},{ name: '设施开口面积', status: 1, describe:'开口面积变大,捕集效果变差'},{ name: '设施内外压差 P1', status: 0, describe:'负压变小,逸散变多'},],},{checkcontent: "局部排风设施",childList:[{ name: '散发源周边气味状况', status: 1, describe:'气味变大,捕集效果变差'},{ name: '设施与散发源距离', status: 1, describe:'距离变大,逸散变多'},],},{checkcontent: "颗粒过滤器",childList:[{name: '流程压差 P2/P3', status: 1, describe: '流程压差变高,处理风量变少;流程压差变低,滤料短路或破损问题变大'},],},],};},methods: {handleDown() {var html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementsByTagName("table")[0].outerHTML + "</body></html>";var blob = new Blob([html], { type: "application/vnd.ms-excel" });var a = document.getElementsByTagName("a")[0];a.href = URL.createObjectURL(blob);a.download = "每日检查记录表.xls";},},
};
</script><style lang='less' scoped>
#demo {background-color: #fff;width: 850px;/* height: 400px; */margin: auto;padding: 40px;box-sizing: border-box;.toptitle {text-align: center;font-size: 25px;font-weight: bold;display: flex;justify-content: center;margin-bottom: 20px;}
}.table_style td,
th {padding: 10px;font-size: 15px;
}.table_style {border-collapse: collapse;width: 100%;text-align: center;
}
.sign{text-align: right;&>span{float: left;}
}
</style>
导出表格样式