elementui導(dǎo)出數(shù)據(jù)為xlsx、excel表格

2021-9-13    前端達(dá)人

我這里為了同學(xué)們好理解,把所有元素都寫到一個(gè)頁面。

1.第一步安裝插件


  1. npm install file-saver
  2. npm install xlsx

2.第二步在mian.js中設(shè)置全局


  1. // vue中導(dǎo)出excel表格模板
  2. import FileSaver from 'file-saver'
  3. import XLSX from 'xlsx'
  4. Vue.prototype.$FileSaver = FileSaver; //設(shè)置全局
  5. Vue.prototype.$XLSX = XLSX; //設(shè)置全局

3.第三步使用 


  1. <template>
  2. <div class="daochu">
  3. <el-button @click="o" type="success" round>導(dǎo)出</el-button>
  4. <el-table
  5. id="ou"
  6. :data="tableData"
  7. style="width: 100%"
  8. :default-sort="{ prop: 'date', order: 'descending' }"
  9. >
  10. <el-table-column prop="date" label="日期" sortable width="180">
  11. </el-table-column>
  12. <el-table-column prop="name" label="姓名" sortable width="180">
  13. </el-table-column>
  14. <el-table-column prop="address" label="地址" :formatter="formatter">
  15. </el-table-column>
  16. </el-table>
  17. </div>
  18. </template>
  19. <script>
  20. export default {
  21. data() {
  22. return {
  23. tableData: [
  24. {
  25. date: "2016-05-02",
  26. name: "王小虎",
  27. address: "上海市普陀區(qū)金沙江路 1518 弄",
  28. },
  29. {
  30. date: "2016-05-04",
  31. name: "王小虎",
  32. address: "上海市普陀區(qū)金沙江路 1517 弄",
  33. }
  34. ],
  35. };
  36. },
  37. methods:{
  38. o() {
  39. let tables = document.getElementById("ou");
  40. let table_book = this.$XLSX.utils.table_to_book(tables);
  41. var table_write = this.$XLSX.write(table_book, {
  42. bookType: "xlsx",
  43. bookSST: true,
  44. type: "array",
  45. });
  46. try {
  47. this.$FileSaver.saveAs(
  48. new Blob([table_write], { type: "application/octet-stream" }),
  49. "sheetjs.xlsx"
  50. );
  51. } catch (e) {
  52. if (typeof console !== "undefined") console.log(e, table_write);
  53. }
  54. return table_write;
  55. },
  56. }
  57. }
  58. </script>

可以看到已經(jīng)導(dǎo)出 

實(shí)際工作中導(dǎo)出按鈕單獨(dú)抽離出去做到可以復(fù)用才是比較合理的




藍(lán)藍(lán)設(shè)計(jì)建立了UI設(shè)計(jì)分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計(jì),如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請掃碼藍(lán)小助,報(bào)下信息,藍(lán)小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系。

分享此文一切功德,皆悉回向給文章原作者及眾讀者.

轉(zhuǎn)自:csdn
免責(zé)聲明:藍(lán)藍(lán)設(shè)計(jì)尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時(shí)與我們?nèi)〉寐?lián)系,我們立即更正或刪除。

藍(lán)藍(lán)設(shè)計(jì)bouu.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)



分享本文至:

日歷

鏈接

個(gè)人資料

存檔