HTML
<template><el-buttontype="primary"icon="el-icon-download"class="topBtn"plain@click="exportDataEvent">导出</el-button><tableid="tablebox"ref="tablebox"cellspacing="0"cellpadding="0"style="border-collapse: collapse;position: fixed;bottom: 0;right: -9999px;"><tbody><tr><tdrowspan="2"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;width: 61.35pt;min-width: 71.35pt;"><divstyle="line-height: 20pt;margin: 8pt 0 0 0;text-align: center;">系列</div></td><tdrowspan="2"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;width: 61.35pt;min-width: 61.35pt;"><divstyle="line-height: 20pt;margin: 8pt 0 0 0;text-align: center;">月入库</div></td><tdrowspan="2"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;width: 61.35pt;min-width: 61.35pt;"><divstyle="line-height: 20pt;margin: 8pt 0 0 0;text-align: center;">月出库</div></td><tdv-for="(i, idx) in columnList":key="idx"colspan="2"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;width: 91.35pt;min-width: 91.35pt;"><divstyle="line-height: 20pt;margin: 8pt 0 0 0;text-align: center;">{{ i }}</div></td></tr><tr><template v-for="(i, idx) in columnList"><td:key="'rk' + idx"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;"><divstyle="line-height: 20pt;margin: 2pt 0 0 0;text-align: center;">入库</div></td><td:key="'ck' + idx"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;"><divstyle="line-height: 20pt;margin: 2pt 0 0 0;text-align: center;">出库</div></td></template></tr><tr v-for="(i, idx) in menus" :key="idx"><tdstyle="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;width: 61.35pt;"><div style="line-height: 20pt; margin: 8pt 0 0 0">{{ i.watchSeries }}<span v-if="i.level === 1">▼</span></div></td><tdstyle="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;width: 61.35pt;"><div style="line-height: 20pt; margin: 8pt 0 0 0">{{ i.rkNum }}</div></td><tdstyle="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;width: 61.35pt;"><div style="line-height: 20pt; margin: 8pt 0 0 0">{{ i.ckNum }}</div></td><template v-for="(j, jdx) in columnList"><td:key="idx + 'rk' + jdx"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;"><divstyle="line-height: 20pt;margin: 2pt 0 0 0;text-align: center;">{{ i["rk#" + j] || 0 }}</div></td><td:key="idx + 'ck' + jdx"style="border: 0.75pt #000000 solid;padding: 0 2.03pt;vertical-align: middle;"><divstyle="line-height: 20pt;margin: 2pt 0 0 0;text-align: center;">{{ i["ck#" + j] || 0 }}</div></td></template></tr></tbody></table>
</template>
JS
exportDataEvent() {var hName = "";for (var i in this.addList1) {if (this.addList1[i].id === this.page.warehouseId) {hName = this.addList1[i].warehouse;}}var excelContent, excelName;if (this.activeIndex === "1") {excelContent = this.$refs.tablebox.innerHTML;excelName = "总台账";} else if (this.activeIndex === "2") {excelContent = this.$refs.tablebox2.innerHTML;excelName = "出库分类台账";} else if (this.activeIndex === "3") {excelContent = this.$refs.tablebox3.innerHTML;excelName = "经销商出库台账";}var excelFile ="<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>";excelFile +="<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head>";excelFile += "<body><table width='10%' border='1'>";excelFile += excelContent;excelFile += "</table></body>";excelFile += "</html>";var link ="data:application/vnd.ms-excel;base64," + this.base64(excelFile);var a = document.createElement("a");a.download = hName + this.page.month + excelName + ".xlsx";a.href = link;a.click();},