• vue3 导出excl文件


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

    //引入文件

    import FileSaver from 'file-saver'

    import XLSX from 'xlsx'

    //获取当前表格的内容

    function exportClick(){

       let xlsxParam = { raw: true }

                    // 设置当前日期

                let time = new Date()

                let year = time.getFullYear()

                let month = time.getMonth() + 1

                let day = time.getDate()

                let name = year + '' + month + '' + day

                    // console.log(name)

                    /* generate workbook object from table */

                    //  .excelTable要导出的是哪一个表格   注意这里的 excelTable 是要导出的表格的类名

                let wb = XLSX.utils.table_to_book(document.querySelector('#excelTable'), xlsxParam)

                    /* get binary string as output */

                let wbout = XLSX.write(wb, {

                    bookType: 'xlsx',

                    bookSST: true,

                    type: 'array'

                })

                try {

                    //  name+'.xlsx'表示导出的excel表格名字

                    FileSaver.saveAs(

                        new Blob([wbout], { type: 'application/octet-stream' }),

                        name + '.xlsx'

                    )

                } catch (e) {

                    if (typeof console !== 'undefined') {

                        // console.log(e, wbout)

                        this.$message({

                            message: e + wbout,

                            type: 'error'

                        })

                    }

                }

                return wbout

    }

    //获取的数据是json形式

    先在data数据源定义以下变量

    autoWidth: true,

    bookType: 'xlsx'

    function handleDownload() {

      // 设置当前日期

        let time = new Date()

        let year = time.getFullYear()

        let month = time.getMonth() + 1

        let day = time.getDate()

        let name = year + '' + month + '' + day

      // 这个文件是vue-element-admin里边自带的,跟着路径你就能找到,不用担心把报错

      import('@/vendor/Export2Excel').then(excel => {

        const tHeader = ['头像', '标题', 'Author'] // 这个就是excel表格的头部名称

        const filterVal = ['date', 'name', 'address'] // 这个就是从导出的数据在你数组里的名字

        const list = tableDat.value // 这个就是你页面循环的那个数组,如果你想全部导出的话,数组就需要是全部数据

        const data = formatJson(filterVal, list)

        excel.export_json_to_excel({

          header: tHeader,

          data,

          filename: name, // 这个就是你导出的文件的名字

          autoWidth: autoWidth.value,

          bookType: bookType.value

        })

      })

    }

    function formatJson(filterVal, jsonData) {

     return jsonData.map(v => filterVal.map(j => {

      if (j === 'timestamp') {

        return parseTime(v[j])

      } else {

        return v[j]

      }

     }))

    }

  • 相关阅读:
    Word脚注如何插入?1分钟学会!
    Android 沉浸式状态栏
    请实现一个链式的哈希表
    转行做产品经理,如何挑选产品经理课程?
    Go 语言循环语句
    【Spring boot 普通类调用 Bean】
    基于FPGA的LCD1602驱动(含代码)
    【开题报告】基于uni-app的汽车租赁app的设计与实现
    CUDA学习笔记8——GPU硬件资源
    Docker Registry
  • 原文地址:https://blog.csdn.net/tiankongxiao/article/details/126400920