相信大家在项目中经常会遇到一些上传下载文件的相关功能,本文就Excel的相关功能进行简述:

咱直接看代码:

  1. <div class="import-main-content">
  2. <div class="import-main-button" @click="checkFile">
  3. <div class="import-center" style="cursor: hand">
  4. <div>+</div>
  5. <div>上传Excel文件</div>
  6. </div>
  7. </div>
  8. <div style="margin: 5px auto; width: 350px">
  9. <div class="image-multiple-area" v-if="fileName">
  10. <span>{{ fileName }}</span>
  11. <img
  12. @click="removes"
  13. style="position: absolute; top: -1px; right: -1px"
  14. src="@/assets/icons/tag-remove-icon.png"
  15. class="remove-excel"
  16. alt=""
  17. />
  18. </div>
  19. <div v-else>尚未选择文件!</div>
  20. <div class="import-notice">注意:</div>
  21. <div class="import-notice">
  22. 1. 请按照Excel表格模板内字段格式进行上传
  23. </div>
  24. <div class="import-notice">2. 导入表格数量控制在10000条以内</div>
  25. <div class="import-notice">
  26. 3. Excel表格模板点击下载:<span
  27. style="color: #277cf0"
  28. @click="downLoadModel"
  29. >Excel表格模板</span
  30. >
  31. </div>
  32. </div>
  33. <input
  34. type="file"
  35. id="fileinput"
  36. style="display: none"
  37. @change="checkFileSure"
  38. accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
  39. />
  40. </div>
  1. data () {
  2. return {
  3. fileName: "", //Excel文件
  4. fileDir: "", //Excel文件路径
  5. }
  6. },
  7. checkFile() {
  8. document.querySelector("#fileinput").click();
  9. },
  10. checkFileSure() {
  11. let fileObj = document.querySelector("#fileinput").files[0];
  12. let file = document.querySelector("#fileinput");
  13. if (fileObj) {
  14. this.fileName = fileObj.name;
  15. // 文件类型
  16. let fileType = fileObj.type;
  17. let fileSize = fileObj.size;
  18. // 文件大小
  19. if (
  20. !(
  21. fileType === "application/vnd.ms-excel" ||
  22. fileType ===
  23. "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
  24. )
  25. ) {
  26. this.msgError("上传文件仅支持 Excel 格式!");
  27. file.value = "";
  28. return false;
  29. } else if (fileSize / 1024 / 1024 > 50) {
  30. this.msgError("文件大小超过50M!");
  31. file.value = "";
  32. return false;
  33. }
  34. this.importDone();
  35. } else {
  36. this.$message.error("请选择导入的excel文档!");
  37. return false;
  38. }
  39. },
  40. //下载Excel模版
  41. downLoadModel() {
  42. //getImportTempFile4Prize 为下载excel 模板接口
  43. getImportTempFile4Prize().then((res) => {
  44. window.location.href = `${this.$store.state.weShop.IMGHEAD}${res.URI}`;
  45. });
  46. },
  47. importDone() {
  48. if (this.fileName == null || this.fileName === "") {
  49. this.$message.error("请选择导入的excel文档!");
  50. return;
  51. }
  52. let fileObj = document.querySelector("#fileinput").files[0];
  53. console.log(fileObj.name);
  54. let file = document.querySelector("#fileinput");
  55. console.log(file);
  56. if (fileObj?.name) {
  57. let formData = new FormData();
  58. formData.append("file", fileObj);
  59. formData.append("upload_type", "02");
  60. let fileType = fileObj.type.split("/")[1];
  61. // uploadExcel 为后台上传Excel 接口
  62. uploadExcel(formData, fileType)
  63. .then((res) => {
  64. file.value = "";
  65. this.fileDir = res.PATH;
  66. this.form.PRIZE_NUM = res.NUM;
  67. })
  68. .catch(() => {
  69. file.value = "";
  70. })
  71. .then((res) => {});
  72. document.querySelector("#fileinput").value = "";
  73. } else {
  74. this.$message.error("请选择导入的excel文档!");
  75. document.querySelector("#fileinput").value = "";
  76. this.fileName = "";
  77. return false;
  78. }
  79. },

以上逻辑在后台接口,前端主要做的是一些简要的操作,需要上传Excel的话需要先上传到服务器才行。作为一个CV工程师相信上面代码对你有益的话就赶紧拿去使用吧。

一文解决Vue中实现 Excel下载到本地以及上传Excel的更多相关文章

  1. ftp 根据特定正则匹配文件名 下载到本地 并且上传文件到ftp java *** 最爱那水货

    /** * 建立FTP链接,FTP服务器地址.端口.登陆用户信息都在配置里配置即可. * @throws IOException */ public boolean connectFtp(String ...

  2. 解决vue中百度地图覆盖物引用本地图片问题

    这次的主要目的是在百度地图中引用自定义的覆盖物,路径是再asset/images/文件夹下,直接引用出错.需要先导入再引用. 在<script></script>代码中增加如下 ...

  3. vue中基于sortablejs与el-upload实现文件上传后拖拽排序

    今天做冒烟测试的时候发现商品发布有一个拖拽图片排序功能没做,赶紧加上 之前别的同事基于 vuedraggable 实现过这个功能,我这里自己深度封装了 el-upload ,用这种方式改动很大,而且感 ...

  4. java的poi技术下载Excel模板上传Excel读取Excel中内容(SSM框架)

    使用到的jar包 JSP: client.jsp <%@ page language="java" contentType="text/html; charset= ...

  5. layui上传Excel更新数据并下载

    前言: 最近做项目遇到了一个需求,上传Excel获取数据更新Excel文档,并直接返回更新完的Excel到前端下载:其实需求并没有什么问题,关键是前端用到的是layui上传组件(layui.uploa ...

  6. 下载模板,上传EXCEL

    说道SAP里对EXCEL操作的大概就是上传,下载,显示了... 下载:(文档是通过SMW0上传的)注:如果下载的时候需要填充EXCEL的值,...请参考另一篇文档,OLE CALL METHOD CL ...

  7. jmert中如何测试上传文件接口(测试上传excel文件)

    第一次用jmeter这个工具测试上传接口,以前没做过这一块,导致走了很多弯路.特地把经验谢谢,怕自己以后忘记... 一,jmeter如何上传文件 jmeter 的 http requests post ...

  8. SpringBoot(十三)_springboot上传Excel并读取excel中的数据

    今天工作中,发现同事在整理数据,通过excel上传到数据库.所以现在写了篇利用springboot读取excel中的数据的demo.至于数据的进一步处理,大家肯定有不同的应用场景,自行修改 pom文件 ...

  9. 上传excel数据到数据库中

    上传excel表格数据到数据库 导入固定路径下的excel数据到数据库 <form id="disposeFlightDataForm" action="../up ...

随机推荐

  1. spring-data-jpa操作数据库

    1.spring-data-jpa是spring对hibernate的整合 2.spring boot工程在实体类添加注解.添加两个依赖.写配置文件,可以自动生成数据库表 实体类: @Entity / ...

  2. Android 12(S) 图像显示系统 - SurfaceFlinger 之 VSync - 中篇(十七)

    必读: Android 12(S) 图像显示系统 - 开篇 1 前言 这一篇文章,将继续讲解有关VSync的知识,前一篇文章 Android 12(S) 图像显示系统 - SurfaceFlinger ...

  3. Django/SQL server 配置实现(附下载安装)

    连接方案1: conn = pymssql.connect(host='127.0.0.1', port=1433, user='sa', password='password', database= ...

  4. Linux vs Unix - Linux与Unix到底有什么不同?

    来自:Linux迷链接:https://www.linuxmi.com/linux-vs-unix.html Linux和Unix这两个术语可以互换地用来指同一操作系统.这在很大程度上是由于他们惊人的 ...

  5. kubeadm高可用master节点(三主两从)

    1.安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 五台机器,操作系统 CentOS7.5+(mini) 硬件配置:2GBRAM,2vCPU+,硬盘30GB+ 集群中所有 ...

  6. vue实例vm的方法

    import wbMessage from './wb-message' let Constructor = Vue.extend(wbMessage) let vm = new Constructo ...

  7. 软件推荐 ---一款优秀的通信组件 HP_Socket

    * HP-Socket 官方网站:http://www.jessma.org* HP-Socket 项目主页:http://www.oschina.net/p/hp-socket* HP-Socket ...

  8. SpringBoot官方支持任务调度框架,轻量级用起来也挺香!

    大家好,我是二哥呀.定时任务的应用场景其实蛮常见的,比如说: 数据备份 订单未支付则自动取消 定时爬取数据 定时推送信息 定时发布文章 等等(想不出来了,只能等等来凑,,反正只要等的都需要定时,怎么样 ...

  9. pycharm解释器的配置等

    转自:http://www.360doc.com/content/18/0913/14/11881101_786350505.shtml 为什么安装python后,还需要pycharm配置环境 我们实 ...

  10. Visual Studio 2010 ~ 2022 全系列密钥

    更新记录 2022年6月10日 修改序列号顺序. Visual Studio 2022 Professional(专业版): TD244-P4NB7-YQ6XK-Y8MMM-YWV2J Enterpr ...