Rumah > Java > javaTutorial > teks badan

Cara menggunakan elementUI+Springboot untuk melaksanakan fungsi eksport excel

WBOY
Lepaskan: 2023-05-18 19:19:20
ke hadapan
892 orang telah melayarinya

Langkah

Pakej pergantungan

Pertama, kita perlu memperkenalkan pakej pergantungan vue
Saya menggunakan ini

npm install xlsx@^0.16.0
npm install file-saver@^2.0.2
Salin selepas log masuk

di mana peranan xlsx pergantungan ialah : Proses data ke dalam buku kerja excel
file-saverFungsi kebergantungan ialah: simpan dan eksport fail

jadual elemen

Di sini, elementenetUI sebenarnya digunakan tag jadual untuk mendapatkan data, oleh itu, kita perlu menambah pemilih
pada jadual dalam projek saya, saya menambah id: exportExcel

<el-table :data="tableData" id="exportExcel" border ></el-table>
Salin selepas log masuk

tableData ialah pembolehubah takrifkan sendiri yang menerima data daripada. bahagian belakang

Pakej pengenalan

Kemudian, pada halaman yang anda perlukan untuk menulis fungsi eksport, import
seperti berikut:

import XLSX from "xlsx";
import FileSaver from "file-saver";
Salin selepas log masuk

Kaedah penulisan

Dalam kod berikut, terdapat

var xlxsParam = { raw: true };
Salin selepas log masuk

Fungsi ini bukan untuk memproses data
Tujuan utama adalah untuk menghalang data seperti tarikh daripada diproses, mengakibatkan ralat paparan

    // 导出
    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 对象表示一个不可变、原始数据的类文件对象
          // Blob 表示的不一定是js的原生格式数据
          // File 接口基于Blob,
          // 返回一个新创建的Blob对象,其内容由参数中给定的数组串联
          new Blob([wbOut], { type: "application/octet-stream" }),
          // 导出文件名称
          "文件名称.xlsx"
        );
      } catch (e) {
      // 捕捉报错
        if (typeof console != "undefined") {
          console.log(e, wbOut);
        }
      }
      // 将结果返回出来,导出文件
      return wbOut;
    },
Salin selepas log masuk

Contoh lengkap

Contoh lengkapnya adalah seperti berikut:

<!--页面-->
<template>
  <div>
  <!--导出按钮-->
  <el-button type="primary" @click="exportExcelData()">导出</el-button>
  <!--table数据-->
      <el-table :data="tableData" id="exportExcel" border >
      <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: [], // 接收的后端数据变量
    };
  },
  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 对象表示一个不可变、原始数据的类文件对象
          // Blob 表示的不一定是js的原生格式数据
          // File 接口基于Blob,
          // 返回一个新创建的Blob对象,其内容由参数中给定的数组串联
          new Blob([wbOut], { type: "application/octet-stream" }),
          // 导出文件名称
          "新人培训记录.xlsx"
        );
      } catch (e) {
        if (typeof console != "undefined") {
          console.log(e, wbOut);
        }
      }
      return wbOut;
    },
	}
}
</script>
Salin selepas log masuk

Hasil eksport akhir

Dalam projek saya, saya perlu melakukan pertanyaan dan fungsi import untuk rekod latihan pemula, jadi Gaya antara muka akhir adalah seperti ini

Cara menggunakan elementUI+Springboot untuk melaksanakan fungsi eksport excel

Hasil eksport sebenar ialah:

Cara menggunakan elementUI+Springboot untuk melaksanakan fungsi eksport excel

Untuk mengekalkan privasi, saya meletakkan data nama Dibuang

Cara menggunakan elementUI+Springboot untuk melaksanakan fungsi eksport excel

Atas ialah kandungan terperinci Cara menggunakan elementUI+Springboot untuk melaksanakan fungsi eksport excel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan