js-xlsx插件簡單教程


js-xlsx是一款用於excel文件處理的腳本

github地址:https://github.com/protobi/js-xlsx/tree/beta

 

由於文檔是英文的,為了自己下次能更快上手使用,這篇文檔就介紹下它的簡單使用

安裝

這其實沒啥好說的,第二種script標簽引入后,是可以直接使用 XLSX 對象的,下面也主要介紹這種引入方式的寫法

 

 

 

 

創建workbook對象

 

通過input file元素的onchange事件讀取excel文件的數據,在圖片注釋位置處進行操作

 

 

 

workbook對象

 

 

 SheetNames存放表名,Sheets存放表數據

workbook.SheetNames.forEach(item => {
    console.log(workbook.Sheets[item])
})

 

t 類型,v 值, f 公式,還有其他的請自行查閱文檔 

 

 

 

 

 

 

 

內置函數

sheet-to-json 生成一個數組對象

 

 

 顯然是把第一行的標題作為了屬性名

 

下載excel文件

因為瀏覽器無法對本地文件進行修改,所以對讀取的excel做出修改后,需要重新下載修改后的文件,這里通過純js方式來實現下載

// 生成二進制文件編碼
var wopts = { bookType:'xlsx', bookSST:false, type:'binary' };
var wbout = XLSX.write(workbook,wopts);
function s2ab(s) {
  var buf = new ArrayBuffer(s.length);
  var view = new Uint8Array(buf);
for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
// 創建a標簽用於下載
var eleLink = document.createElement('a');
eleLink.download
= 'excel.xlsx';
eleLink.style.display
= 'none'; // 字符內容轉變成blob對象
var blob = new Blob([s2ab(wbout)]); eleLink.href = URL.createObjectURL(blob); // 觸發點擊 document.body.appendChild(eleLink);
eleLink.click();
// 然后移除 document.body.removeChild(eleLink);

 


免責聲明!

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



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