vue-json-excel导出日期格式,数字转科学计数法的解决方法

369 阅读1分钟

文件地址: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'
    }
  ]
]
}