js實現數據導出為excel表格


用js實現數據導出成excel表格

在開發過程中遇到了老板需要把呈現在列表里面的數據導出成excel表格的問題,百度了一些方案,現在做個總結

//我這里用靜態數據做個例舉,大家可以根據自己需求對應修改

function exportToExcel(){
  let headerList = ['姓名','年齡','出生日期']; 表頭部分
  let bodyList = [
    ['新狗','18','1993'],
    ['蠟筆','22','2000']
  ];//主體內容部分
  
  let excelList = [];//聲明一個空數組准備將頭部和內容柔和在一起
  
  excelList.push(thList.join("\t,") + "\n")
  //這條語句的意思是將頭部集合轉換為已特殊符"\t,"分開的字符串,"/t,"在excel中相當於tab建的作用, 作用就是切換到后面的單元格,這樣headerList中的每一個元素都可以占在各自的單元格中,"\n"就是說當每一條字符串結束后換行, 這樣就可以讓bodyList每一條子集合數據都獨立擁有一行
  
  bodyList.forEach(item=>{
     excelList.push(item.join("\t," + "\n")) //原理跟上述一樣
  })
  
  var merged = excelList .join("");//將上述得到的excel集合,轉化為excel表格中的需要使用的字符串
      //## 導出操作
      // encodeURIComponent解決中文亂碼
      const uri =
        "data:text/csv;charset=utf-8,\ufeff" + encodeURIComponent(merged);
      // 通過創建a標簽實現
      let link = document.createElement("a");
      link.href = uri;

      link.download = `在線簡歷庫${proxy.$tool.makeDate(new Date(), true)}.csv`;  //這里是最后下載下來的excel表格名稱
      link.click();
}


免責聲明!

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



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