首页 > 其他分享 >2024.04.02

2024.04.02

时间:2024-04-02 23:56:23浏览次数:28  
标签:02 2024.04 return 文件 Excel file import 上传

在这个任务中,你需要实现前端上传 Excel 文件,然后将文件传输到后端,后端再将 Excel 文件解析并将数据插入数据库。下面是一种可能的实现方法:

前端(Vue.js):

  1. 使用 <el-upload> 组件实现文件上传功能,并绑定一个上传文件的事件。
  2. 通过 Axios 或其他方式将上传的 Excel 文件发送到后端。
<template>
  <el-upload
    class="upload-demo"
    drag
    action="/upload"
    multiple
    :before-upload="handleBeforeUpload"
    :on-success="handleUploadSuccess"
  >
    <i class="el-icon-upload"></i>
    <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
    <div class="el-upload__tip" slot="tip">只能上传excel文件</div>
  </el-upload>
</template>

<script>
import axios from 'axios';

export default {
  methods: {
    handleBeforeUpload(file) {
      const isExcel = file.type === 'application/vnd.ms-excel' || file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
      if (!isExcel) {
        this.$message.error('只能上传excel文件');
      }
      return isExcel;
    },
    handleUploadSuccess(response, file, fileList) {
      this.$message.success('上传成功');
    }
  }
}
</script>

后端(Java + Spring Boot + MyBatis):

  1. 创建一个 Spring Boot Controller 用于处理文件上传。
  2. 在 Controller 中实现文件接收和解析的逻辑,然后将数据插入数据库。
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;

@RestController
public class FileUploadController {

    @PostMapping("/upload")
    public String handleFileUpload(@RequestParam("file") MultipartFile file) {
        if (!file.isEmpty()) {
            try {
                byte[] bytes = file.getBytes();
                // 保存文件到服务器或者直接处理文件
                // 这里可以调用处理Excel文件的方法,将数据插入数据库
                return "File uploaded successfully";
            } catch (IOException e) {
                e.printStackTrace();
                return "File upload failed";
            }
        } else {
            return "No file uploaded";
        }
    }
}

在上述示例中,前端使用 Element UI 的 <el-upload> 组件来实现文件上传功能,后端使用 Spring Boot 实现文件上传的接口。在后端 Controller 中,你可以使用 Apache POI 或其他库来解析上传的 Excel 文件,并将数据插入数据库中。

标签:02,2024.04,return,文件,Excel,file,import,上传
From: https://www.cnblogs.com/gyg1222/p/18111747

相关文章

  • 2024年度4-5月书单-挂书香斋-湖北省随州市广水市印台书院
     书香斋  ......
  • 2024年4月2日-UE5-普通攻击,动画蒙太奇
    创建一个输入,普通攻击 在战斗意境里,添加普通攻击,然后设置鼠标左键是触发按键 在角色总类里面添加普通攻击,把刚才创建的导入进来 找到资源里的攻击动作,把他转换为蒙太奇,用来绑定攻击动作 然后改名 在主角动画蓝图里添加一个插槽,意思是播放之前设置的移动动作中优......
  • KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)
    题目链接https://atcoder.jp/contests/abc200A-Century简单的abs(n-1)/100+1即可B-200thABC-200按题意写代码点击查看代码voidsolve(){intn,k;cin>>n>>k;for(inti=1;i<=k;i++){if(n%200==0)n/=200;elsen=n*1000+200;}......
  • 20240402,<<,>>,控制流:while语句 ,for语句
    ……学很少,学很慢还是比不学强点是吧,救命昨天不是很懂<<,>>输入输出iostream,输入流istream输出流ostream,COUT,CIN,CERR,CLOG#include<iostream>intmain(){ std::cout<<"entertwonumbers:"<<std::endl; intv1=0,v2=0; std::cin>>v1......
  • 20240401
    T1TopcoderSRM578div1Medium-WolfInZooDivOne考虑转化限制。在一个序列中填若干\(1\),对每个\(1\)的上一个\(1\)的上一个\(1\)的位置有限制。设某个\(1\)的上一个\(1\)的位置为\(pre_i\),则如果一个限制为\([l,r]\),则要求\(\foralli\in[l,r],pre_{pre_i......
  • 【专题】2024年中国金融科技(FinTech)行业发展洞察报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35581原文出处:拓端数据部落公众号金融监管体系的深刻变革正引领金融科技行业迈入一个更为严格且精细化的超级监管时代。在这个时代,数据要素的应用和金融场景的建设已经成为行业内不容忽视的关键领域。为顺应这一变革趋势,为金融机构提供紧贴其业务......
  • 2024年最新github之Javascript语言开源项目top50排行榜项目
    如果有帮助到您还请动动手帮忙点赞,关注,评论转发,感谢啦!......
  • GPT4暂停升级,如何升级 ChatGPT Plus: GPT4、GPT4.0 升级 详细指南(2024年4月)
    前言ChatGPT官方暂停了升级GPT-4的入口,但目前官网还可以直接升级。请注意,这种升级情况可能会变化(截至2024.4月,此途径仍然可用)。重磅消息:2024年4月2号,openai宣布ChatGPT3.5不用登录即可使用,大家可以方便尽情体验啦~重要提示:请您尽量不要用微软的邮箱升级Plus或绑定A......
  • 【专题】2023年中国汽车出海研究报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34260原文出处:拓端数据部落公众号近年来,我国汽车出口需求旺盛,并保持强劲增长趋势,至2023年一季度,汽车出口总量首超日本,中国汽车“破浪出海”正当时。本报告合集旨在通过梳理中国汽车的出海背景,分析汽车厂商出海的现状及特点,洞察中国汽车出海的风险......
  • 大一下 计算系统基础笔记:原码的一位乘法 20240402
    W61.原码的一位乘法原码的一位乘法可以通过以下步骤进行:1.确定乘法的两个操作数,并将它们转换为原码表示。2.对两个操作数的每一位进行相乘,得到部分积。3.将所有的部分积相加,得到最终的乘积。具体的步骤如下:假设有两个操作数A和B,都用原码表示,长度为n位。1.确定符号位:根据A......