最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

elementUI+Springboot實現(xiàn)導出excel功能的全過程

 更新時間:2022年09月05日 10:15:27   作者:相與還  
這篇文章主要介紹了elementUI+Springboot實現(xiàn)導出excel功能,現(xiàn)在也對這個導出功能進行一個匯總整理寫出來,結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

在前面,我們其實已經(jīng)完成了elementUI+springboot的導入功能
springboot實現(xiàn)上傳并解析Excel過程解析
那么,現(xiàn)在也對這個導出功能進行一個匯總整理寫出來
其實,導出功能相對導入功能還是比較簡單,本次不需要考慮到后端

步驟

依賴包

首先,我們需要引入vue的依賴包
我用的是這個

npm install xlsx@^0.16.0
npm install file-saver@^2.0.2

其中xlsx依賴的作用為:將數(shù)據(jù)進行處理為excel工作簿
file-saver依賴的作用為:將文件進行一個保存導出來

element表格table

這里,實際上是用的elemenetUI的表格table標簽,獲取到數(shù)據(jù),因此,我們需要對表格添加一個選擇器
在我的項目中,我是添加了一個idexportExcel

<el-table :data="tableData" id="exportExcel" border style="width: 100%"></el-table>

tableData為自定義的接收后端傳過來的數(shù)據(jù)的變量

引入包

然后,在你需要編寫導出功能的頁面,進行引入
具體如下:

import XLSX from "xlsx";
import FileSaver from "file-saver";

編寫方法

以下代碼中,有一個

var xlxsParam = { raw: true };

這個的作用是不對數(shù)據(jù)進行處理
主要目的是為了防止把日期這種數(shù)據(jù)處理掉,導致顯示出錯

    // 導出
    exportExcelData() {
      var xlxsParam = { raw: true };
      // 從表中生成工作簿
      var wb = XLSX.utils.table_to_book(
        document.querySelector("#exportExcel"),
        xlxsParam
      );
      // 獲取二進制字符串作為輸出
      var wbOut = XLSX.write(wb, {
        bookType: "xlsx",
        bookSST: true,
        type: "array",
      });
      try {
        FileSaver.saveAs(
          // Blob 對象表示一個不可變、原始數(shù)據(jù)的類文件對象
          // Blob 表示的不一定是js的原生格式數(shù)據(jù)
          // File 接口基于Blob,
          // 返回一個新創(chuàng)建的Blob對象,其內容由參數(shù)中給定的數(shù)組串聯(lián)
          new Blob([wbOut], { type: "application/octet-stream" }),
          // 導出文件名稱
          "文件名稱.xlsx"
        );
      } catch (e) {
      // 捕捉報錯
        if (typeof console != "undefined") {
          console.log(e, wbOut);
        }
      }
      // 將結果返回出來,導出文件
      return wbOut;
    },

完整實例

完整實例如下:

<!--頁面-->
<template>
  <div>
  <!--導出按鈕-->
  <el-button type="primary" @click="exportExcelData()">導出</el-button>
  <!--table數(shù)據(jù)-->
      <el-table :data="tableData" id="exportExcel" border style="width: 100%">
      <el-table-column
        label="字段1"
        type="字段名稱"
        align="center"
      ></el-table-column>
      <el-table-column
        prop="字段2"
        label="字段名稱"
        align="center"
      ></el-table-column>
    </el-table>
  </div>
<template>
<!--邏輯-->
<script>
// 引入依賴
import FileSaver from "file-saver";
import XLSX from "xlsx";
export default {
  name: "newStaffRecord",
  data() {
    return {
      tableData: [], // 接收的后端數(shù)據(jù)變量
    };
  },
  methods: {
	    // 導出
    exportExcelData() {
      var xlxsParam = { raw: true };
      // 從表中生成工作簿
      var wb = XLSX.utils.table_to_book(
        document.querySelector("#exportExcel"),
        xlxsParam
      );
      // 獲取二進制字符串作為輸出
      var wbOut = XLSX.write(wb, {
        bookType: "xlsx",
        bookSST: true,
        type: "array",
      });
      try {
        FileSaver.saveAs(
          // Blob 對象表示一個不可變、原始數(shù)據(jù)的類文件對象
          // Blob 表示的不一定是js的原生格式數(shù)據(jù)
          // File 接口基于Blob,
          // 返回一個新創(chuàng)建的Blob對象,其內容由參數(shù)中給定的數(shù)組串聯(lián)
          new Blob([wbOut], { type: "application/octet-stream" }),
          // 導出文件名稱
          "新人培訓記錄.xlsx"
        );
      } catch (e) {
        if (typeof console != "undefined") {
          console.log(e, wbOut);
        }
      }
      return wbOut;
    },
	}
}
</script>


最終導出結果

在我的項目需要做一個新人培訓記錄查詢導入的功能,于是最終界面樣式為這樣

在這里插入圖片描述

實際導出后的結果為:

在這里插入圖片描述

為保持隱私,我把姓名數(shù)據(jù)去掉了

在這里插入圖片描述

結語

以上為elementUI實現(xiàn)導出功能的過程

到此這篇關于elementUI+Springboot實現(xiàn)導出excel功能的文章就介紹到這了,更多相關elementUI Springboot導出excel內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue2前端使用axios發(fā)起post請求后端(springboot)接收不到值解決辦法

    vue2前端使用axios發(fā)起post請求后端(springboot)接收不到值解決辦法

    這篇文章主要介紹了vue2前端使用axios發(fā)起post請求后端(springboot)接收不到值解決辦法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-03-03
  • Tree-Shaking?機制快速掌握

    Tree-Shaking?機制快速掌握

    這篇文章主要為大家介紹了Tree-Shaking?機制的快速掌握教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Vue中select下拉框的默認選中項的三種情況解讀

    Vue中select下拉框的默認選中項的三種情況解讀

    這篇文章主要介紹了Vue中select下拉框的默認選中項的三種情況解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue如何自動化打包測試環(huán)境和正式環(huán)境的dist/test文件

    vue如何自動化打包測試環(huán)境和正式環(huán)境的dist/test文件

    這篇文章主要介紹了vue如何自動化打包測試環(huán)境和正式環(huán)境的dist/test文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • 在Vue中獲取組件聲明時的name屬性方法

    在Vue中獲取組件聲明時的name屬性方法

    今天小編就為大家分享一篇在Vue中獲取組件聲明時的name屬性方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 如何在Vue中獲取DOM元素的實際寬高

    如何在Vue中獲取DOM元素的實際寬高

    使用vue的時候,想要獲得一個指定的元素的高度時,下面這篇文章主要給大家介紹了關于如何在Vue中獲取DOM元素的實際寬高的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • vue仿淘寶訂單狀態(tài)的tab切換效果

    vue仿淘寶訂單狀態(tài)的tab切換效果

    這篇文章主要為大家詳細介紹了vue仿淘寶訂單狀態(tài)tab切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 如何利用SpringBoot與Vue3構建前后端分離項目

    如何利用SpringBoot與Vue3構建前后端分離項目

    在當前的互聯(lián)網(wǎng)時代,前后端分離架構已經(jīng)成為構建應用系統(tǒng)的主流方式,本文將詳細介紹如何利用 SpringBoot 與 Vue3 構建一個前后端分離的項目,感興趣的小伙伴可以了解下
    2025-04-04
  • 寫一個Vue loading 插件

    寫一個Vue loading 插件

    這篇文章主要介紹了如何寫一個Vue loading 插件,幫助大家更好的理解和學習vue 插件的相關知識,感興趣的朋友可以了解下
    2020-11-11
  • Vue父子組件通信全面詳細介紹

    Vue父子組件通信全面詳細介紹

    這篇文章主要介紹了React中父子組件通信詳解,在父組件中,為子組件添加屬性數(shù)據(jù),即可實現(xiàn)父組件向子組件通信,文章通過圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-10-10

最新評論

霞浦县| 永嘉县| 太湖县| 横山县| 镇远县| 台南县| 五河县| 桐柏县| 黄浦区| 福鼎市| 新民市| 右玉县| 武乡县| 武平县| 贵阳市| 南雄市| 平顺县| 兰溪市| 玉溪市| 图木舒克市| 凤城市| 兰溪市| 涞源县| 寿阳县| 大港区| 宁夏| 礼泉县| 兴隆县| 和静县| 湘潭县| 惠州市| 壤塘县| 富裕县| 横山县| 金寨县| 和静县| 岱山县| 威宁| 海丰县| 嘉兴市| 红安县|