<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Vue+element UI el-table下的匯出當前所有資料到一個excel檔案裡。
先按照網上的方法,看看有哪些坑
1、安裝依賴:yarn add xlsx file-saver -S
2、在放置需要匯出功能的元件中引入
import FileSaver from "file-saver"; import XLSX from "xlsx";
3、HTML中的設定,簡單來說就是給需要匯出的table標籤el-table上加一個id:如outTable,對應下面的exportExcel方法中的 document.querySelector(‘#outTable‘)
   //匯出當前表格 exportCurrent:function(){ var wb = XLSX.utils.table_to_book(document.querySelector('#outTable')) //表格id var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' }) try { FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheet.xlsx') //檔名 } catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) } return wbout },
我們來看一下原始資料
接下來再來看一下匯出的結果
哎???我訂單編號跟銀行卡號咋成了科學計數法了??
還有我的時間,時分秒呢??
原因是因為數位太長了,需要使用excel的文字格式才能顯示正常
經過各種搜尋,最終解決方法如下:
exportExcel() { var xlsxParam = { raw: true };//轉換成excel時,使用原始的格式 var wb = XLSX.utils.table_to_book(document.querySelector("#outTable"),xlsxParam); var wbout = XLSX.write(wb, { bookType: "xlsx", bookSST: true, type: "array" }); try { FileSaver.saveAs( new Blob([wbout], { type: "application/octet-stream;charset=utf-8" }), "sheetjs.xlsx" ); } catch (e) { if (typeof console !== "undefined") console.log(e, wbout); } return wbout; },
再來看我們的資料
大功告成。
Excel表匯出功能需要將請求中的 responseType 設定為 blob,也就是說請求只能接收Excel檔案,json資料沒法處理
此時可以根據 Response 的 Content-Type值類判斷處理,如果值 為 application/json,則先將返回的資料轉換成字串,然後再轉換為 JSON
// 匯出 downLoad(){ const fileReader = new FileReader() // 第一步建立檔案物件 const loading = this.$loading({ lock: true, text: '匯出載入中···', spinner: 'el-icon-loading', background: 'rgba(0, 0, 0, 0.7)' }); const data = { equipmentName: this.searchForm.equipmentName, equipmentCode: this.searchForm.equipmentCode, }; download('/api/mfg-mes/equipmentVersion/exportStandardWorkTime', data).then(res => { fileReader.onloadend = () => { // 定義方法 if (res.type === 'application/json') { // 第三步進行判斷 const jsonData = JSON.parse(fileReader.result) // 說明是普通物件資料,後臺轉換失敗 // 後臺資訊 // console.log(jsonData,'fileReader') this.$message.error(jsonData.msg) loading.close(); }else{ downloadFile(res, '資訊表', 'xlsx') loading.close(); } } fileReader.readAsText(res) }).catch(err => { console.log(err); }) },
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45