vue3前端导出excel表格的两种实现方法

 更新时间:2024年11月26日 10:19:06   作者:可爱的秋秋啊  
这篇文章主要给大家介绍了关于vue3前端导出excel表格的两种实现方法,文中通过代码以及图文介绍的非常详细,对大家学习或者使用vue3具有一定的参考借鉴价值,需要的朋友可以参考下

1、前端直接导出excel

xlsx安装

npm install --save xlsx file-saver

xlsx引入

// 局部引入
import * as XLSX from 'xlsx'
import FileSaver from 'file-saver'

// 在main.js中引入XLSX

import XLSX from 'xlsx'
Vue.use(XLSX)

导出函数定义 

// XLSX需要npm 安装后全局或者局部引入后使用
// 导出Excel
const exportExcel = () => {
  const xlsxParams = { row: true }
  // 根据表格导出  可以根据json数据导出 json_to_sheet
  const wb = XLSX.utils.table_to_book(
    document.querySelector('#out-table'),
    xlsxParams
  )
  // 写入
  const wbout = XLSX.write(wb, {
    bookType: 'xlsx',
    bookSST: true,
    type: 'array'
  })

  try {
    FileSaver.saveAs(
      new Blob([wbout], { type: 'application/octet-stream' }),
      '物料库存信息.xlsx'
    )
  } catch (e) {
    if (typeof consloe !== 'undefined') {
      ElMessage.error({
        message: e.wbout,
        type: 'error'
      })
    }
  }
  return wbout
}

注意:如果导出的表格数据量繁多,我们可以在里面添加延时函数进行导出 

2、调用后端接口导出excel

// 引入axios
import axios, { AxiosRequestConfig } from "axios"

// 导出
const exportExcels=()=>{
    if (formData.uuid != '' || formData.uuid != 'undefined') {
        axios({
            url: '/pm/pmEmployeeEvaluation/exportExcel',
            method: 'post',
            responseType: 'blob', // 设置响应类型为 blob
            data: {
                uuid: formData.uuid // 根据需要传递的参数进行调整
            }
        })
            .then(res => {
                const blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=UTF-8' });
                const fileName = "绩效考核.xlsx"
                const url = window.URL.createObjectURL(blob)
                const link = document.createElement("a")
                link.href = url;
                link.setAttribute("download", fileName);
                document.body.appendChild(link);
                link.click();
                document.body.removeChild(link);
                window.URL.revokeObjectURL(url);
            }).catch(error => {
                console.error('Error:', error);
            });
        // const fileUrl = "http://10.1.22.31:9771/pm/pmEmployeeEvaluation/notoken/exportExcel?uuid=" +  formData.uuid; // 文件的URL
        // window.location.href = fileUrl;
    }else{
        ElMessage('当前暂无excel导出!!!')
    }
}

直接调用定义好的接口,不单个引入 axios

总结 

到此这篇关于vue3前端导出excel表格的两种实现方法的文章就介绍到这了,更多相关vue3前端导出excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue使用echarts实现地图的方法详解

    vue使用echarts实现地图的方法详解

    这篇文章主要为大家详细介绍了vue使用echarts实现地图的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • vue3中的ref()详解

    vue3中的ref()详解

    ref对象可以通过.value属性进行修改,修改后的值也是响应式的,并且修改后会触发相关的副作用,这篇文章主要介绍了vue3中的ref(),需要的朋友可以参考下
    2023-05-05
  • Element-UI实现复杂table表格结构的操作代码

    Element-UI实现复杂table表格结构的操作代码

    Element-UI组件el-table用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作,本文给大家介绍Element-UI实现复杂table表格结构的操作代码,感兴趣的朋友一起看看吧
    2023-12-12
  • vue3使用高德地图进行轨迹绘制及播放代码示例

    vue3使用高德地图进行轨迹绘制及播放代码示例

    这篇文章主要介绍了如何定义地图容器及操作按钮,使用高德地图API进行轨迹绘制及播放的方法,并强调了界面样式的重要性,高德地图API的使用需要注册获取key,并且设置了地图容器的大小,需要的朋友可以参考下
    2024-11-11
  • vue项目前端加前缀(包括页面及静态资源)的操作方法

    vue项目前端加前缀(包括页面及静态资源)的操作方法

    这篇文章主要介绍了vue项目前端加前缀(包括页面及静态资源)的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12
  • vue中map()快速使用方法小结

    vue中map()快速使用方法小结

    map()函数是在JS的数组中定义的,它返回一个新的数组,下面这篇文章主要给大家介绍了关于vue中map()快速使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • vue2.0 中使用transition实现动画效果使用心得

    vue2.0 中使用transition实现动画效果使用心得

    这篇文章主要介绍了vue2.0 中使用transition实现动画效果使用心得,本文通过案例知识给大家介绍的非常详细,需要的朋友参考下吧
    2018-08-08
  • vue自定义键盘实现车牌号的示例代码

    vue自定义键盘实现车牌号的示例代码

    本文主要介绍了vue自定义键盘实现车牌号的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Vue实现简单选项卡功能

    Vue实现简单选项卡功能

    这篇文章主要为大家详细介绍了Vue实现简单选项卡功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Vue项目Nginx子目录部署(Vite和Vue-CLI)

    Vue项目Nginx子目录部署(Vite和Vue-CLI)

    本文主要介绍了Vue项目Nginx子目录部署(Vite和Vue-CLI),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05

最新评论