vue实现导出列表为xlsx文件

1.安装依赖

npm install --save xlsx file-saver

2.引入依赖

import FileSaver from 'file-saver';
import * as XLSX from 'xlsx';

3.代码实现

<el-button type="primary" @click="exportData">导出数据</el-button>

    <el-table
      id="table_excel"
      v-loading="loading"
      :data="tableData"
      style="width: 100%"
      height="600"
    >
      <el-table-column prop="name" label="单位名称" />
      <el-table-column prop="sjzl" label="事件总量" />
      <el-table-column prop="fqsjs" label="发起事件数" />
      <el-table-column prop="czsjs" label="处置事件数" />
      <el-table-column prop="qss" label="签收数" />
      <el-table-column prop="qsl" label="签收率" />
      <el-table-column prop="qshgl2" label="签收合格率( 2min)" />
      <el-table-column prop="qshgl5" label="签收合格率( 5min)" />
      <el-table-column prop="czs" label="处置数" />
      <el-table-column prop="czl" label="处置率" />
      <el-table-column prop="czhgl5" label="处置合格率( 5min)" />
      <el-table-column prop="pjczys" label="平均处置用时(自然时)" width="160" />
      <el-table-column prop="bjs" label="办结数" />
      <el-table-column prop="bjl" label="办结率" />
      <el-table-column prop="aqbjs5" label="按期办结数( 5个工作日)" width="170" />
      <el-table-column prop="aqbjs8" label="按期办结数( 8个自然日)" width="170" />
      <el-table-column prop="aqbjl5" label="按期办结率( 5个工作日)" width="170" />
      <el-table-column prop="aqbjl8" label="按期办结率( 8个自然日)" width="170" />
      <el-table-column prop="cqbjs5" label="超期办结数( 5个工作日)" width="170" />
      <el-table-column prop="cqbjs8" label="超期办结数( 8个自然日)" width="170" />
      <el-table-column prop="cqbjl5" label="超期办结率( 5个工作日)" width="170" />
      <el-table-column prop="cqbjl8" label="超期办结率( 8个自然日)" width="170" />
      <el-table-column prop="pjbjys" label="平均办结用时(自然时)" />
    </el-table>
    exportData() {
      console.log('exportData');
      this.$confirm('确定要导出表格数据吗', '导出提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'info',
      }).then(() => {
        setTimeout(() => {
          const tables = document.getElementById('table_excel');
          const table_book = XLSX.utils.table_to_book(tables, { raw: true });
          const table_write = XLSX.write(table_book, {
            bookType: 'xlsx',
            bookSST: true,
            type: 'array',
          });
          try {
            FileSaver.saveAs(
              new Blob([table_write], { type: 'application/octet-stream' }), 'Data.xlsx');
          } catch (e) {
            if (typeof console !== 'undefined') {
              console.log(e, table_write);
            }
          }
          return table_write;
        }, 1000);
      });
    }

4.实现效果

相关推荐

  1. Vue 导出前端数据报表xlsx文件

    2024-04-05 11:34:03       45 阅读
  2. vue项目导入 .xlsx 文件

    2024-04-05 11:34:03       28 阅读
  3. vue2使用npm依赖包导出xlsx文件

    2024-04-05 11:34:03       64 阅读
  4. 前端实现导出xlsx功能

    2024-04-05 11:34:03       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 11:34:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 11:34:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 11:34:03       82 阅读
  4. Python语言-面向对象

    2024-04-05 11:34:03       91 阅读

热门阅读

  1. 数据库更新两张相关联的表

    2024-04-05 11:34:03       34 阅读
  2. 【leetcode】向字符串添加空格

    2024-04-05 11:34:03       31 阅读
  3. 2024.3.17力扣每日一题——最小高度树

    2024-04-05 11:34:03       33 阅读
  4. Apache Spark 的基本概念和在大数据分析中的应用

    2024-04-05 11:34:03       42 阅读
  5. WPF如何使用 System.Windows.Forms.FolderBrowserDialog

    2024-04-05 11:34:03       33 阅读
  6. 找出字符串中所有偶数的个数

    2024-04-05 11:34:03       36 阅读
  7. 单例模式的多种写法

    2024-04-05 11:34:03       39 阅读
  8. 设计模式:单例模式六种实现

    2024-04-05 11:34:03       36 阅读
  9. 单例模式详解

    2024-04-05 11:34:03       32 阅读
  10. Visual Studio Code(VS Code)安装教程

    2024-04-05 11:34:03       29 阅读
  11. Vue 组件的 mixin 函数,用于屏幕适配

    2024-04-05 11:34:03       38 阅读
  12. 0基础如何进入IT行业

    2024-04-05 11:34:03       33 阅读
  13. C/C++中的static关键字用法总结

    2024-04-05 11:34:03       39 阅读
  14. 梯度反向传播过程是如何处理repeat函数的

    2024-04-05 11:34:03       39 阅读