【前端】Vue中引入excel模板并下载以及XLSX使用

模板存放位置
src/assets/excelTemplate/模板.xls
安装模块包

npm install file-loader --save-dev    //开发,Webpack 配置中使用它来处理文件加载
npm i xlsx --save					  //生产,解析和处理 Excel 文件的库

新增配置,在vue.config.js中,自己比较一下,最后一段新增的chainWebpack

module.exports = defineConfig({
   
  transpileDependencies: true,
  assetsDir: 'static', //打包配置文件
  parallel: false,
  publicPath: './',

  devServer: {
   
    port: port,
    open: true,
    proxy: {
   
      '/api': {
   
        target: process.env.VUE_APP_BASE_URL,
        changeOrigin: true,
        ws: true,
        pathRewrite: {
   
          '^/api': '',
        },
      },
    },
  },
  configureWebpack: {
   
    name: name,
    resolve: {
   
      alias: {
   
        '@': resolve('src'),
      },
    },
  },
  chainWebpack(config) {
   
    config.module
      .rule('excel')
      .test(/\.(xls|xlsx)$/)
      .use('file-loader')
      .loader('file-loader')
      .options({
   
        name: '[name].[ext]',
      })
      .end()
  },
})

即可将模板下载到本地

<template>
  <el-button @click="downloadFile" icon="el-icon-download">下载配置模板</el-button>
</template>

<script>
import excelFile from '@/assets/excelTemplate/模板.xls'

export default {
   
  data() {
   
    return {
   }
  },
  methods: {
   
    //下载
    downloadFile() {
   
      const link = document.createElement('a')
      link.href = excelFile
      link.download = '模板.xls'
      link.style.display = 'none' // 隐藏元素
      document.body.appendChild(link) // 添加到文档中
      link.click()
      document.body.removeChild(link) // 点击后移除
    },
  },
}
</script>

<style>
</style>

我使用XLSX的场景,在我上传excel的时候,我需要获取它的表头以及里面的数据进行渲染到表格中,在我编辑的时候需要请求Excel的地址,将返回流转JSON也拿里面的表格数据

有空再写…

最近更新

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

    2024-02-21 00:42:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 00:42:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 00:42:01       82 阅读
  4. Python语言-面向对象

    2024-02-21 00:42:01       91 阅读

热门阅读

  1. KeepAlived搭建高可用的HAproxy负载均衡集群系统

    2024-02-21 00:42:01       55 阅读
  2. 有一台阿里云轻量应用服务器可以用来做什么?

    2024-02-21 00:42:01       70 阅读
  3. linux部署File Browser文件管理系统

    2024-02-21 00:42:01       44 阅读
  4. Nginx笔记

    2024-02-21 00:42:01       43 阅读
  5. linux: pushd、popd与dirs用法详解

    2024-02-21 00:42:01       48 阅读
  6. leetcode经典题库(简单)

    2024-02-21 00:42:01       43 阅读
  7. stable-cascade 文生图模型diffusers使用案例

    2024-02-21 00:42:01       48 阅读
  8. mybatis概念

    2024-02-21 00:42:01       64 阅读
  9. JDK1.8之后的版本变更

    2024-02-21 00:42:01       41 阅读
  10. TypeConverter学习

    2024-02-21 00:42:01       56 阅读
  11. js filter,every,includes 过滤数组

    2024-02-21 00:42:01       48 阅读
  12. phpcms v9敏感词内容替换

    2024-02-21 00:42:01       49 阅读