【工具】vue excel导入通用组件-模板导出组件

vue 批量添加组件(Excel导入) 此组件得好处是识别excel的文件。 1.首先安装xlsx: npm install xlsx 因为该组件是共用组件,很多页面都会用到,因此该组件应该放到components/UploadExcel/index.vue(代码如下) index.vue 可根据自己所需按钮来修改样式 <template> <div> <input ref... 阅读详情

环境:

  • vue@2.6.12
  • element-ui@2.15.5

 

1.excel导入

组件代码:

//components/ExcelImport
<template>
  <div class="component-upload-image">
    <el-upload
      accept=".xls,.xlsx"
      :action="uploadImgUrl"
      :on-success="handleUploadSuccess"
      :before-upload="handleBeforeUpload"
      :on-error="handleUploadError"
      name="file"
      :show-file-list="false"
      :headers="headers"
    >
      <el-button 
      size="mini" 
      type="warning"
      icon="el-icon-upload2"
      plain
      >导入excel</el-button>
    </el-upload>
  </div>
</template>

<script>
/**
 * excel上传
 */
import { getToken } from "@/utils/auth";
export default {
  data() {
    return {
      //注意
      headers: {
        Authorization: "Bearer " + getToken(),
      },
      fileType: ["xlsx", "xls"]
    };
  },
  props: {
    // 大小限制(MB)
    fileSize: {
      type: Number,
      default: 5,
    },
    api: {
      type: String,
      default: ""
    }
  },
  computed:{
    uploadImgUrl(){
      return process.env.VUE_APP_BASE_API + this.api;// 上传excel api地址
    }
  },
  methods: {
    handleUploadSuccess(res) {
      if(res.code == 200){
        this.$message({
          showClose: true,
          duration: 0,
          dangerouslyUseHTMLString: true,
          message: res.msg,
          type: 'success'
        });
        this.$emit('loadList');//加载列表
      }else{
        if(res.msg){
          this.$message({
            showClose: true,
            duration: 0,
            dangerouslyUseHTMLString: true,
            message: res.msg,
            type: 'error'
          });
        }else{
          this.$message.error('导入失败, 未知错误');
        }
      }
      this.loading.close();
    },
    handleBeforeUpload() {
      this.loading = this.$loading({
        lock: true,
        text: "上传中",
        background: "rgba(0, 0, 0, 0.7)",
      });
    },
    handleUploadError() {
      this.$message({
        type: "error",
        message: "上传失败, 请重试",
      });
      this.loading.close();
    },
  }
};
</script>

<style scoped lang="scss">
</style>

组件使用:

import ExcelImport from '@/components/ExcelImport';

export default {
  components: {
      ExcelImport
  }
}

<template>
  <ExcelImport 
     api="/xxxx/yyyy/import"
     @loadList="getList"
  />
</template>

2.excel模板导出(前端本地下载)

前提:获取本地路径

//main.js

//模板路径
Vue.prototype.$publicURL = process.env.BASE_URL

 模板存放位置:

 

模板导出组件代码:

//components/ModelExport

<template>
  <el-row>
    <el-button
      type="info"
      plain
      icon="el-icon-download"
      size="mini"
      @click="downFile"
      >下载模板
    </el-button>
  </el-row>
</template>

<script>
export default {
  props: {
    name:{
        type: String,
        default: ''
    }
  },
  methods: {
    // 下载文件
    downFile() {
      fetch(this.$publicURL + `download/${this.name}.xlsx`)
        .then((res) => res.blob())
        .then((blob) => {
          let eleLink = document.createElement("a");
          eleLink.style.display = "none";
          eleLink.target = "_blank";
          eleLink.setAttribute("download", `${this.name}.xlsx`);
          eleLink.href = URL.createObjectURL(blob);
          document.body.appendChild(eleLink);
          eleLink.click();
          URL.revokeObjectURL(eleLink.href);
          document.body.removeChild(eleLink);
        });
    },
  },
};
</script>

使用组件:

import ModelExport from '@/components/ModelExport';

export default {
  components: {
    ModelExport
  }
}

<template>
   <ModelExport name="方案库模板" />
</template>

若依ruoyi-vue实现excel导入导出 有时候我们希望导出表格包含标题信息,我们可以这样做。有时候我们希望数据展现为一个特殊的格式,或者需要对数据进行其它处理。Excel注解提供了自定义数据处理器以满足各种业务场景。1、在实体类用Excel注解handler属性指定自定义的数据处理器@Excel(name = "用户名称",handler = MyDataHandler.class)2、编写数据处理器MyDataHandler继承ExcelHandlerAdapter,返回值为处理后的值。@Override。 阅读详情

相关推荐

ADS AEL脚本进阶:参数化电感与变压器的自动化设计

本文深入探讨了如何利用ADS AEL脚本实现电感与变压器的参数化与自动化设计。通过构建可复用的函数库、封装高级设计流程、集成DRC检查与性能预估,将繁琐的手动绘制升级为高效的智能设计引擎,并最终通过创建GUI工具降低使用门槛,大幅提升射频/微波电路设计效率。

weixin_29309785的博客 203

vue+elementui 解析(导入) excel 获取数据

vue+elementui 解析(导入) excel 获取数据

TingLisu的博客 2854

WorkBench3.2 + VxWorks6.8安装教程

按照FTP连接主机和目标机,将整个VxWorks6.8的安装分为两个部分,一是在主机(win10系统,可以使用虚拟机或者实体机,推荐使用虚拟机)上安装workbench3.2,进行bootrom与VxWroks映像文件的生成,二是在虚拟机上安装VxWorks系统 19.10.10 首先很高兴文章能帮到大家,但由于本人已不做该方向良久,私信和评论的很多问题现在已经无法解答,如果大家有什么问题欢迎...

Alive的博客 3万+

vue使用elemtui + xlsx实现excel导入,上传到koa后端

引入el-upload组件,使用el-upload <template> <div id="excel"> <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-chang...

qq_41121649的博客 610

FC游戏Hack实战:从零开始修改游戏数据

本文以《忍者神龟3》为例,详细介绍了从零开始进行FC游戏Hack的完整实战流程。通过使用FCEUX模拟器和调试器,结合“递减法”精准定位生命值内存地址,并利用十六进制编辑器修改关键指令,最终实现“无限生命”效果。文章旨在引导读者理解游戏数据修改的核心原理与操作技巧,重温经典的同时深入计算机程序运行机制。

weixin_28366353的博客 358

从零开始学DAG:用dagitty软件快速构建因果图的5个步骤

本文为初学者提供了使用dagitty软件快速构建因果图的5个实用步骤。通过一个公共卫生研究实例,详细演示了如何从定义核心变量开始,逐步引入混杂、中介和碰撞变量,最终利用dagitty的自动分析功能识别最小充分调整集,从而科学指导研究设计与统计分析,有效提升因果推断的严谨性。

ii567的博客 800

vue、elementUI的excel文件导入导入

<el-dialog title="导入" :visible.sync="upload.open" width="400px" append-to-body :close-on-click-modal="false"> <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" .

monody666的博客 888

gRPC之gRPC开发流程与入门案例

gRPC之gRPC开发流程与入门案例

YIYIYI 3759

vue+elementui导入、导出excel

vue导入、导出excel

qq_41713136的博客 4232

7.1华为OD机试真题 新系统 - 仓库盘点 (Java/Py/C/C++/Js/Go)

7.1华为OD机试真题 新系统 - 仓库盘点 (Java/Py/C/C++/Js/Go)

算法大师! 509

SQL的基本介绍

1.什么是数据库?2.什么是数据库管理系统?3.什么是 SQL?1.数据库是保存有组织的数据的容器,通常是一个文件或一组文件,可以将其看作电子化的文件柜。用户可以对文件中的数据执行新增、删除、更新、查询等操作。2.数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户可以通过 DBMS 访问数据库中的数据,数据库管理员也可以通过 DBMS 进行数据库的维护工作。

shiwei0813的博客 2879

Excel导入组件的封装以及使用页面点击弹出该弹框

Excel导入组件的封装以及使用页面点击弹出该弹框

weixin_59527403的博客 628

单细胞转录组数据分析中的基因ID注释转换问题:如何解决才能注释所有的UMIcount数据?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1126

vue实现下载excel模板、导入excel文件、导出excel文件

下载excel模板、导入Excel文件、导出Excel文件

qq_40881695的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Vue+Element 导出导入Excel

Vue+Element导出导入Excel

qq_39877681的博客 4485

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Vue下载Excel模板和导入遇到的问题

查看我的个人博客 因为对vue不熟悉,最近踩了很多坑啊。今天这个下载导出Excel的功能搞了半天啊,,, Vue下载Excel模板 后端代码参考之前写的博客:Java通过Poi的开发Excel导入导出和下载功能 这次使用jfinal的方法,先在根目录下创建downloadExcelModel目录,将模板Excel文件放进去。 1 2 3 4 5 ...

sunon_的博客 2万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

改造若依Excel导出功能——可自定义模板导出

改造若依台账导出接口,支持用户自定义导出模板,使用 POI 实现 Excel 模板的动态数据填充

m0_52620144的博客 6505

【vue+springboot】excel模板下载、导入功能实现

基于VUE+SpringBoot实现excel模板下载、导入功能 背景 最近在工作中经常遇到批量导入的功能,而且前端还要提示导入成功几条、失败几条、哪一条数据重复、是哪一条导入的数据出现问题等,抽空写了一个简单的demo,记录一下。 框架:前端vue,使用的是element-ui组件,后端springboot 前端代码及效果 因为使用频繁,所以封装了一个文件上传、下载的组件,代码如下: <template> <!-- 弹窗,上传文件 --> <el-dialog

tif_very的博客 6221

java在项目中实现excel导入导出

java在实战项目中实现excel导入导出 --前后端分离项目

weixin_64942806的博客 3083

VUE+ElementUI生成Excel模板 导入数据生成表格(自适应)

VUE+ElementUI生成Excel模板 导入数据生成表格(自适应) 最近项目需求,需要根据条件查询对应数据的参数(每条数据的参数名称和个数都不一样) ,生成Excel表格模板,再通过Excel模板填写数据上传Excel,展示在页面上。 该功能的难点在于每条数据模板都不一样,需要动态生成模板,以及自适应显示上传的表格内容。 1.导出表格模板 首先前端从后台获取数组类型的模板数据(this.tableHead) 使用exportExcel.js 导出Excel exportExcel.j.

PrettyBoy@的博客 5486

vue xlsx 导入导出_vue中excel导入导出组件

:visible.sync="centerDialogVisible":title="titleName":close-on-click-modal="false":before-close="beforePausClose"width="1040px">v-for="item in options":key="item.template_table_name":label="item.te...

weixin_39745933的博客 284

vue下载excel表格模板和导入excel表格数据

vue下载excel表格模板和导入excel表格数据vue制作excel表格模板给前端下载 vue制作excel表格模板给前端下载 最近有个需求,需要导入excel表格,并且还需要制作模板给用户下载。 首先做好模板下载 <el-row> <el-col :offset="20" :span="4"> <el-button size="mini" type="primary" @click="downUp">下载模板</

yan_hai_的博客 1440

vue中excel导入导出组件

vue中导入导出excel,并根据后台返回类型进行判断,导入到数据库中 功能:实现js导入导出excel,并且对导入的excel进行展示,当excel标题名称和数据库的名称标题匹配时,则对应列导入的数据自动渲染展示在表格中,预览展示10条,不足10条的的用空行表示。可通过下拉框动态切换对应列的值。图片保存到系统中是将有src属性的img值替换为后台传递过来的七牛云地址,导入完成后,部分导入失败的数据可以下载到本地查看 导入的excel文件 使用该导入功能需安装依赖 npm install xlsx 需要

weixin_42171955的博客 751

vue---excel导入导出以及本地模板下载

<template> <div> <el-input style="width:150px" v-model="input" disabled placeholder="文件上传名字"></el-input> <el-upload action="url" :data="{}" :before-uplo...

最爱松露巧克力 1366

vue3中将表格导出excel的方法(极简且有效)

在JavaScript中,使用`import`语句导入模块时,有两种不同的导入方式:***默认导入***和***命名导入***。 `import XLSX from 'xlsx'` 是默认导入,它假设模块中有一个默认导出的对象。但是,在 xlsx 模块中,并没有默认导出的对象的时候,就会报错。 而 `import * as XLSX from 'xlsx'` 是命名导入,它将整个模块作为一个命名空间引入,并将模块中的所有导出都作为该命名空间对象的属性。这种方式适用于 xlsx 模块,因为它将 XLSX

杜永康的博客 7564
上一篇: 【工具】vue excel导出
下一篇: 【工具】vue 图片上传(单张/多张)
谭CV
博客等级 码龄9年 73粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值