JavaScript下载base64位文件


 1 /**
 2  * JS生成简单格式的Excel文件
 3  */
 4 function commonDownloadExcel(excelData) {
 5    let country = "中国";
 6     //标题列
 7     var str = '国家,' + country+ ',订单号,0001,指令号,' + excelData.name + '\r\n';
 8 
 9     str += '序号,合同号,紧急标识,实际到货时间\r\n';
10 
11     for (let i = 0; i < exportData.length; i++) {
12         str += (i+1).toString() + ','
13             + exportData[i]["合同号"] + '\t,'
14             + exportData[i]["紧急标识"] + ','
15             + exportData[i]["实际到货时间"] + '\t,'
16             + '\n';
17     }
18 
19     var blob = new Blob([str], { type: "text/plain;charset=utf-8" });
20     //解决中文乱码问题
21     blob = new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type });
22     object_url = window.URL.createObjectURL(blob);
23     var link = document.createElement("a");
24     link.href = object_url;
25     link.download = country + "_" + excelData.name + ".xls";
26     document.body.appendChild(link);
27     link.click();
28     document.body.removeChild(link);
29 }

 

 1 /**
 2  * 下载文件
 3  * */
 4 function downloadExcel(base64Data) {
 5             var myBlob = this.base64toBlob(base64Data);
 6             var myUrl = URL.createObjectURL(myBlob);
 7             var link = document.createElement("a");
 8             link.href = myUrl;
 9             link.download = "名称_" + formatDateTime() + ".文件扩展名";
10             document.body.appendChild(link);
11             link.click();
12             document.body.removeChild(link);
13 }
 1 /**
 2  * 封装base64Str blob对象
 3  * */
 4 function base64toBlob (base64Str) {
 5     var bstr = atob(base64Str), n = bstr.length, u8arr = new Uint8Array(n);
 6     while (n--) {
 7         u8arr[n] = bstr.charCodeAt(n);
 8     }
 9     return new Blob([u8arr]);
10 }
 1 /**
 2  * 当前日期格式化为yyyymmddhhmmss格式
 3  * @returns
 4  */
 5 function formatDateTime() {
 6     let date = new Date(); 
 7     var y = date.getFullYear();
 8     var m = date.getMonth() + 1;
 9     m = m < 10 ? ('0' + m) : m;
10     var d = date.getDate();
11     d = d < 10 ? ('0' + d) : d;
12     var h = date.getHours();
13     h = h < 10 ? ('0' + h) : h;
14     var minute = date.getMinutes();
15     minute = minute < 10 ? ('0' + minute) : minute;
16     var second = date.getSeconds();
17     second = second < 10 ? ('0' + second) : second;
18     return y +  m +  d + h +  minute +  second;
19 }

 

posted @ 2023-09-27 15:07  江渔湖  阅读(504)  评论(0编辑  收藏  举报