downtest() {
let temp = {
"title": ["排名", "车号", "车队", "车手", "领航", "赛段成绩", "距首车成绩", "距前车差距", "发车时间", "冲刺时间", "赛段用时", "罚时",
"补时"
],
"value": [
[1, "111", "车队", "xx", "xx", "00时49分59秒0毫秒", "-", "-", "10点20分10秒8毫秒", "11点10分09秒9毫秒",
"00时49分59秒0毫秒", "00时00分10秒8毫秒", "", "https://xxxx/assets/images/no-image.jpg"
],
[2, "1", "车队", "xxx", "xx", "01时00分00秒0毫秒", "00时00分11秒0毫秒", "00时00分11秒0毫秒",
"10点10分10秒8毫秒", "11点10分10秒8毫秒", "01时00分00秒0毫秒", "", "",
"https://xxxx/assets/images/no-image.jpg"
],
[3, "666", "66", "666", "66", "01时04分51秒0毫秒", "00时00分15秒0毫秒", "00时00分04秒0毫秒",
"10点20分10秒8毫秒", "11点25分01秒8毫秒", "01时04分51秒0毫秒", "", "",
"https://xxxx/assets/images/no-image.jpg"
],
[4, "123", "xxx", "xx", "xx", "04时00分59秒0毫秒", "00时03分11秒0毫秒", "00时02分56秒0毫秒",
"8点48分00秒0毫秒", "12点48分59秒789毫秒", "04时00分59秒0毫秒", "", "",
"https://xxxx/uploadfilev2/image/0/501/261/2023-08/16927686744833.png"
]
]
}
let obj = {
file_name: 'ces',
data: JSON.stringify(temp)
}
let header = {
// #ifdef MP-WEIXIN
"User-Agen": 'miniProgram',
// #endif
// #ifdef H5
"User-Agen": 'h5',
// #endif
}
uni.request({
url: `请求url`,
header: header,
method: 'post',
responseType: "arraybuffer",
data: obj,
success: (res) => {
let temp = res.statusCode == 200 ? res.data : res
const fs = wx.getFileSystemManager(); //获取全局唯一的文件管理器
fs.writeFile({ //写文件
filePath: wx.env.USER_DATA_PATH +
"/统计报表.xlsx",
data: temp, // res.data就是获取到的二进制文件流
encoding: "binary", //二进制流文件必须是 binary
success(e) {
wx.openDocument({ // 打开文档
filePath: wx.env.USER_DATA_PATH +
"/统计报表.xlsx", //拿上面存入的文件路径
showMenu: true, // 显示右上角菜单
success: function(x) {
console.log("successfun", x);
},
})
},
fail: (err) => {
// 文件下载失败的相关处理
console.log('download fail', err);
}
})
}
})
},
responseType: "arraybuffer", 请求后端的二进制文件流 必须要加这段声明 ,否则会导致下载的文件打不开或者打开空白