文件地址:node_modules\vue-json-excel\dist\vue-json-excel.esm
解决办法:
把<“td”>标签修改为"<td style="mso-number-format:'@'";>"
代码在332行到246行
331.......行数
//Data
xlsData += "<tbody>";
data.map(function (item, index) {
xlsData += "<tr>";
for (let key in item) {
xlsData +=
"<td style=\"mso-number-format:'\\@'\";>" +
_self.preprocessLongNum(
_self.valueReformattedForMultilines(item[key])
) +
"</td>";
}
xlsData += "</tr>";
});
xlsData += "</tbody>";
.......
一,有package.json文件的话,在里面的dependencies下加入
"dependencies": {
......
"vue-json-excel": "^0.3.0",
......
}
二,安装依赖
npm install vue-json-excel
三,在main.js中
import JsonExcel from 'vue-json-excel'
Vue.component('downloadExcel', JsonExcel)
四,引用实现
......
<download-excel
style=" margin-left: 10px; float: right;"
class = "export-excel-wrapper"
:data = "tableData"
:fields = "excelFields"
title="财务报表"
name = "财务报表.xls">
<!-- 上面可以自定义自己的样式,还可以引用其他组件button -->
<el-button type="primary" size="small" style="height: 40px;">导出EXCEL</el-button>
</download-excel>
......
//注tableData即为表格数据,excelFields如下
return {
......
excelFields: {
'商家名称': 'shopName',
'商家编码': 'shopCode',
'营收总额': 'revenue',
'冻结金额': 'frozen',
'可提现金额': 'withdrawable',
'已提现金额': 'haveWithdrawable',
'已退款金额': 'refund'
},
json_meta: [
[
{
'key': 'charset',
'value': 'utf-8'
}
]
]
}