我是寫到util里然后調(diào)用該方法
//json數(shù)據(jù)轉(zhuǎn)excel——util.js
function JSONToExcelConvertor(JSONData, FileName) {
var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
var excel = '<table>';
//設(shè)置表頭
var head = "<td>名字</td><td>年齡</td><td>地點(diǎn)</td>"; //因?yàn)榈谝恍衪r包裹會(huì)導(dǎo)致下面多出來一行,所以不加tr包裹
excel += head;
//此處寫循環(huán) 拼html 表內(nèi)容部分
for(var i=0;i<JSONData.length;i++){
excel += "<tr>";
excel += "<td>"+JSONData[i].name"</td>";
excel += "<td>"+JSONData[i].age"</td>";
excel += "<td>"+JSONData[i].area"</td>";
excel += "</tr>";
}
excel += "</table>";
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 += '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';
excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel';
excelFile += '; charset=UTF-8">';
excelFile += "<head>";
excelFile += "<!--[if gte mso 9]>";
excelFile += "<xml>";
excelFile += "<x:ExcelWorkbook>";
excelFile += "<x:ExcelWorksheets>";
excelFile += "<x:ExcelWorksheet>";
excelFile += "<x:Name>";
excelFile += FileName; //標(biāo)簽名
excelFile += "</x:Name>";
excelFile += "<x:WorksheetOptions>";
excelFile += "<x:DisplayGridlines/>";
excelFile += "</x:WorksheetOptions>";
excelFile += "</x:ExcelWorksheet>";
excelFile += "</x:ExcelWorksheets>";
excelFile += "</x:ExcelWorkbook>";
excelFile += "</xml>";
excelFile += "<![endif]-->";
excelFile += "</head>";
excelFile += "<body>";
excelFile += excel;
excelFile += "</body>";
excelFile += "</html>";
var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile);
return uri;
module.exports = {
JSONToExcelConvertor
}
//需要引用的頁面 js部分
const util = require('../../utils/util.js')
//取到j(luò)son(json)芍碧,標(biāo)簽名 (filename)
var excelUrl =util(json,filename);
//無法通過wx.downloadFile直接下載煌珊,因?yàn)閑xcelUrl 過長,目前我用的wx.setClipboardData復(fù)制鏈接 然后自己通過手機(jī)上的瀏覽器下載泌豆。
實(shí)際上還是有三個(gè)問題沒有解決定庵,最近太忙了,等有時(shí)間再回來研究踪危。
1.就是首行用tr包裹會(huì)有空格
2.下載的文件名沒有自定義蔬浙,使用的默認(rèn)的。
3.鏈接過長贞远。
最好的方法其實(shí)還是讓后臺(tái)提供個(gè)下載鏈接畴博,因?yàn)榭蛻粢蟛桓呔椭苯釉谇岸擞胘s解決了,有更好解決方案的朋友可以在下面評(píng)論或者私信告訴我下蓝仲,謝謝大家俱病!