当前位置: 首页 > news >正文

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();}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【机器翻译】基于术语词典干预的机器翻译挑战赛
  • Jenkins 离线升级
  • 【排序算法】—— 归并排序
  • 海事无人机解决方案
  • 前端开发(基础)
  • 对B-树的理解
  • bug定位策略
  • python连接kafka生产者发送消息
  • Memcached vs Redis——Java项目缓存选择
  • 数据结构-C语言-排序(2)
  • excel系列(二) - 利用 easypoi 快速实现 excel 文件导入导出
  • QQ频道导航退出
  • CV09_深度学习模块之间的缝合教学(4)--调参
  • 自定义 Java ClassLoader:深入探索
  • 13 IP层协议-网际控制报文协议ICMP
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • express + mock 让前后台并行开发
  • Java 多线程编程之:notify 和 wait 用法
  • mysql_config not found
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Odoo domain写法及运用
  • SegmentFault 2015 Top Rank
  • web标准化(下)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 浮动相关
  • 给Prometheus造假数据的方法
  • 关于Java中分层中遇到的一些问题
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端临床手札——文件上传
  • 前端面试题总结
  • 使用API自动生成工具优化前端工作流
  • nb
  • 06-01 点餐小程序前台界面搭建
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # Redis 入门到精通(一)数据类型(4)
  • #13 yum、编译安装与sed命令的使用
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (7) cmake 编译C++程序(二)
  • (C#)获取字符编码的类
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (九)信息融合方式简介
  • (利用IDEA+Maven)定制属于自己的jar包
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ***原理与防范
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET DataGridView数据绑定说明
  • .NET 反射 Reflect
  • .NET 反射的使用
  • .NetCore部署微服务(二)
  • .NET轻量级ORM组件Dapper葵花宝典
  • .ui文件相关