猿问

el-table导出Excel数据(要求是一个完整的Excel不受el-pagination影响)

问题描述

el-table数据有500条,导出的Excel表格也应该有500条,页面上有el-pagination分页,每一页显示20条,有25页,导出的Excel应该是500条,而不是当前页20条(导出一个完整的,而不是一个分隔的table)


问题出现的环境背景及自己尝试过哪些方法

导出的Excel要求是一个完整的而不是分隔的


相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

<el-table :data="tableData.slice((currpage - 1) pagesize, currpage pagesize)" border style="width: 100%" v-show="this.table.length"


                      :header-row-style="{fontSize: '14px'}"

                      :header-cell-style="{'height': '30px', 'padding':'0px'}"

                      :row-style="{fontSize: '12px', padding: '0px'}"

                      size="mini"

                      id="table"

            >

            <el-pagination background layout="prev, pager, next, sizes, total, jumper"

                           :page-sizes="[20, 30, 50]"

                           :page-size="pagesize"

                           :total="tableData.length"

                           @current-change="handleCurrentChange"

                           @size-change="handleSizeChange"

                           v-show="tableData.length"

            ></el-pagination>

   

  import FileSaver from 'file-saver'

  import XLSX from 'xlsx'         

  exTable () {

    this.exportExcel()

  },

  exportExcel () {

    var wb = XLSX.utils.table_to_book(document.querySelector('#table'))

    var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })

    try{

      FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')

    } catch(e) {

      if (typeof console !== 'undefined') console.log(e, wbout)

    }

    return wbout

  }

你期待的结果是什么?实际看到的错误信息又是什么?


素胚勾勒不出你
浏览 1824回答 2
2回答

Smart猫小萌

如果有分页的存在,导出功能是后端同学来实现的,前端每次请求只会拉取当前页的数据。无法获取全部数据
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答