js excel文件導出和下載與文件導出為zip壓縮包並下載


 原理: js可以通過base64或者blob,把一個包含一個<table>的<html>串,導出xx.xls格式,而Excel可以打開html文件,這樣看起來,就是一個成功的Excel導出;

 var tableHtml = '<html><head><meta charset="UTF-8"></head><body><table><tr><td>Carson test</td></tr></table></body></html>';
 // base64 url形式文件下載
 var oa = document.createElement('a'); // 創建a標簽
 oa.href = 'data:application/vnd.ms-excel;base64,'+window.btoa(tableHtml); // a標簽herf屬性定義值
 oa.download = 'htmltable-base64.xls'; // 通過A標簽,設置文件名
 oa.click()

 文件,在js中,除了可以是base64,也可以是一個blob,

 - base64形式的文件描述,在js或者html中,就是一個很長的base64字符串;

 - blob形式的文件描述,在js或者html中.是一個url形式的字符串,她指向的是瀏覽器內存中的一個文件片段,列如: "blob:http://sheetjs.com/f999f57f-b79f-4293-a317-3bbf6ea58788" ,

 blob形式的Excel導出,列:

// blob url形式文件下載
var tableHtml = '<html><head><meta charset="UTF-8"></head><body><table><tr><td>Carson PPX</td></tr></table></body></html>';
var excelBlob = new Blob([tableHtml],{type: 'application/vnd.ms-excel'});
var oa = document.createElement('a');
oa.href = URL.createObjectURL(excelBlob);
oa.download = 'htmltable-blob.xls';
document.body.appendChild(oa);
oa.click();

 注: 只有xls格式才可以在Excel中打開,xlsx不行; 推薦一個Excel插件 地址:https://github.com/SheetJS/js-xlsx

注: 本文章參考 https://www.cnblogs.com/youryida/p/9275615.html 博客;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM