SpringBoot+Vue实现简单的文件上传(Excel篇)

SpringBoot+Vue实现简单的文件上传

1 环境 SpringBoot 3.2.1,Vue 2,ElementUI
2 页面
在这里插入图片描述

3 效果:只能上传xls文件且大小限制为2M,选择文件后自动上传。
4 前端代码

<template><div class="container"><el-uploadclass="upload-demo"dragaction="/xml/fileUpload"multipleaccept=".xls":before-upload="beforeUpload"><i class="el-icon-upload"></i><div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div><div class="el-upload__tip"><slot name="tip" > 只能上传 xls 文件,且不超过2M</slot></div></el-upload></div>
</template><script>
// import axios from "axios";export default {name: 'App',data() {const data = [];return {filterText: '',data: JSON.parse(JSON.stringify(data)),copyData: [],nodeForm: {},formShow: false,checkNode: {},xml: '',typeList: [{value: 'root',label: '根节点'}, {value: 'node',label: '子节点'}]}},watch: {},created() {},methods: {beforeUpload(file){const isText = file.type == "application/vnd.ms-excel"const isLt2M = file.size /1024 /1024 < 2if(!isText){this.$message.error("只能上传xls文件!")return false;}if(!isLt2M){this.$message.error("文件大小超过限制!")return false;}return true;}}
}
</script><style>
.container {display: flex;
}
</style>

5 后端代码

package org.wjg.onlinexml.service.impl;import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import org.wjg.onlinexml.po.Result;
import org.wjg.onlinexml.service.FileService;import java.io.IOException;@Service("xls")
public class XLSServiceImpl implements FileService {@Overridepublic Result upload(MultipartFile file) {if (file.isEmpty()) {return Result.builder().code(500).msg("上传失败!").build();}try (Workbook workbook = new HSSFWorkbook(file.getInputStream())) {//获取第一个sheet页Sheet sheet = workbook.getSheetAt(0);//遍历每行for (Row row : sheet) {//遍历每个单元格for (Cell cell : row) {System.out.print(cell.getStringCellValue() + " ");}System.out.println();}} catch (IOException e) {e.printStackTrace();}return Result.builder().code(200).msg("上传成功").build();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/871845.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java---类与对象(二)

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 欢迎大家访问~ 创作不易&#xff0c;大佬们点赞鼓励下吧~ 文章目录 封装访问限定符&#xff08;重点&#xff0…

基于springboot 大学校园拼够系统设计与实现

摘 要 大学校园拼购系统是为了方便用户能够在网站上查看校园拼购、公告信息等&#xff0c;于是开发了基于springboot框架设计与实现了一款简洁、轻便的大学校园拼购系统。本系统解决了大学校园拼购管理事务中的主要问题&#xff0c;包括以下多个功能模块&#xff1a;商家、用户…

Golang | Leetcode Golang题解之第229题多数元素II

题目&#xff1a; 题解&#xff1a; func majorityElement(nums []int) (ans []int) {cnt : map[int]int{}for _, v : range nums {cnt[v]}for v, c : range cnt {if c > len(nums)/3 {ans append(ans, v)}}return }

找到完美的横道图工具:2024年选择指南

国内外主流的10款项目进度横道图软件对比&#xff1a;PingCode、Worktile、灵动计划&#xff08;Wolai&#xff09;、飞书项目、Tapd、麦客CRM、Asana、Trello、Smartsheet、Basecamp。 在管理项目时&#xff0c;确保所有进度和任务都按计划进行是每个项目经理面临的一大挑战。…

WordPress:无法创建新文章?创建新帖子时候页面空白

wordPress中我们新建文章的时候&#xff0c;会遇到页面空白&#xff0c;这个问题是怎么导致呢&#xff1f;我们可以打开F12开发者模式看下报错信息&#xff0c;这是一个警告信息 Warning: Creating default object from empty value in /pub 到数据库 wp_posts中查看生成了很…

漏洞挖掘 | 记某证书站任意账号接管漏洞

下文中所述漏洞已修复 在前段时间的漏洞挖掘中&#xff0c;上了某证书站&#xff0c;打点的一处逻辑漏洞 访问某一站点&#xff0c;发现了一处登录页 点击登录按钮之后&#xff0c;发现该站点大概率是自写站点&#xff0c;存在逻辑漏洞的可能性大大增大&#xff0c;利用前期信…

CentOS7配置阿里云yum源

前提&#xff1a;确认机器可以连接互联网&#xff0c;且系统已经安装了wget软件 先进入到/etc/yum.repos.d目录下查看是否有原来的yum源配置文件&#xff0c;如果有&#xff0c;就将它们备份一下 用yum repolist命令测试&#xff0c;当前系统已经没有可用yum源 输入命令wget -…

Java二十三种设计模式-建造者模式(4/23)

建造者模式&#xff1a;构建复杂对象的专家 引言 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;用于创建一个复杂的对象&#xff0c;同时允许用户只通过指定复杂对象的类型和内容就能构建它们&#xff0c;它将对象的构建和表示分离&am…

【机器学习】12.十大算法之一支持向量机(SVM - Support Vector Machine)算法原理讲解

【机器学习】12.十大算法之一支持向量机&#xff08;SVM - Support Vector Machine&#xff09;算法原理讲解 一摘要二个人简介三基本概念四支持向量与超平面4.1 超平面&#xff08;Hyperplane&#xff09;4.2 支持向量&#xff08;Support Vectors&#xff09;4.3 核技巧&…

【Django+Vue3 线上教育平台项目实战】构建课程详情页与集成视频播放功能

文章目录 前言一、课程列表页面a.后端代码b.前端代码 二、课程详情页面a. 视频播放功能的集成1.获取上传视频的链接地址2.集成在前端页面中1>使用vue-alipayer视频播放组件2>使用video标签 b. 页面主要内容展示1.后端代码1>分析表2>核心逻辑 2.前端代码3.效果图 前…

线程池-拒绝策略

线程池-拒绝策略 RejectedExecutionHandlerAbortPolicyCallerRunsPolicyDiscardPolicyDiscardOldestPolicy自定义拒绝策略 当核心线程已用尽 & 阻塞队列已满 & 超过最大线程数时&#xff0c;再向线程池提交任务&#xff0c;则会触发线程池的拒绝策略。 RejectedExecuti…

Python爬虫与文本到语音转换实战:获取并播报长沙天气

简介&#x1f495; 在本文中&#xff0c;我们将通过一个简单的Python脚本&#xff0c;演示如何使用网络爬虫技术获取长沙的天气信息&#xff0c;并使用文本到语音技术将天气信息播报出来。我们将使用pyttsx3库进行语音播报&#xff0c;使用requests库来发起网络请求&#xff0…

自动驾驶-2D目标检测

yolo及yolo的变体 anchor boxes (锚框) intersection over union 并集交集 用于计算两个边界框的差异程度 bounding box predictions 边界框预测 non maximum suppression非极大值抑制 为了分离这些边界框并为每个对象获得单个边界框&#xff0c;我们使用IOU。这种获取单…

2024-07-15 Unity插件 Odin Inspector4 —— Collection Attributes

文章目录 1 说明2 集合相关特性2.1 DictionaryDrawerSettings2.2 ListDrawerSettings2.3 TableColumnWidth2.4 TableList2.5 TableMatrix 1 说明 ​ 本章介绍 Odin Inspector 插件中集合&#xff08;Dictionary、List&#xff09;相关特性的使用方法。 2 集合相关特性 2.1 D…

2-34 小波神经网络采用传统 BP 算法

小波神经网络采用传统 BP 算法&#xff0c;存在收敛速度慢和易陷入局部极小值两个突出弱点。建立了基于遗传算法的小波神经网络股票预测模型 GA-WNN。该模型结合了遗传算法的全局优化搜索能力以及小波神经网络良好的时频局部特性。运用 MATLAB 对拟合和预测过程进行仿真。结果表…

<数据集>绝缘子缺陷检测数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;2139张 标注数量(xml文件个数)&#xff1a;2139 标注数量(txt文件个数)&#xff1a;2139 标注类别数&#xff1a;8 标注类别名称&#xff1a;[insulator, broken disc, pollution-flashover, Two glass, Glassdirt…

李笑来思考框架的结晶《思考的真相》(2024 年新书)

点开文章的你肯定读过李笑来的书&#xff0c;比如讲认知的《财富自由之路》、讲管理自己的《把时间当做朋友》、讲财富底层逻辑的《财富的真相》、讲定投的《让时间陪你慢慢变富》等等。 李笑来的书不讲究华丽的文字&#xff0c;在意逻辑、论证的严谨&#xff0c;层层递进&…

数据结构之通过“ 队列 ”实现的“ 栈 ”功能。

&#x1f339;个人主页&#x1f339;&#xff1a;喜欢草莓熊的bear &#x1f339;专栏&#x1f339;&#xff1a;数据结构 前言 本节内容是利用“ 队列 ”先进先出的特点 实现 “ 栈 ” 先进后出。 一、题目 1.1 题目描述&#xff1a; 请你仅使用两个队列实现一个后入先出&…

成为CMake砖家(1): 在Windows上查看CMake文档

大家好&#xff0c;我是白鱼。 在使用 CMake 的过程中&#xff0c;想必有不少朋友像我一样&#xff0c; 想在本地查看 CMake 文档。 首先安装 CMake, Installer 版本&#xff1a; 安装后&#xff0c;从开始菜单输入 CMake&#xff0c; 选择结果中的 “CMake Documentation”…

如何在 Shell 脚本中使用函数 ?

函数是一个可重用的代码块。我们经常把重复的代码放入一个函数中&#xff0c;并从不同的地方调用该函数&#xff0c;库是函数的集合。我们可以在库中定义常用的函数&#xff0c;其他脚本可以使用它们而无需复制代码。 Calling function 在 Shell 中&#xff0c;调用函数和调用…