IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> vue+springboot实现excel数据表格导入mysql数据库 -> 正文阅读

[大数据]vue+springboot实现excel数据表格导入mysql数据库

前端VUE界面代码

1,首先vue要安装element ui依赖

<template>
    <div>
      <el-upload
        class="upload-demo"
        drag
        action="http://localhost:8888/index/Excel"
        multiple>
        <i class="el-icon-upload"></i>
        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
        <div class="el-upload__tip" slot="tip">只能上传excel文件,且不超过500kb</div>
      </el-upload>
    </div>
</template>

后端代码

1引入easyexcel依赖

        <!--easy excel依赖-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.2.6</version>
        </dependency>

2,创建excel表格
在这里插入图片描述

3,springboot项目中创建Shop实体类

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

@Data
public class Shop{
//    通过@ExcelProperty("商品")进行映射到实体类中的对象
    @ExcelProperty("商品")
    private String name;
    @ExcelProperty("价格")
    private String price;
}

4,service层创建ExcelService类

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.xxxx.shangchuan.entity.Shop;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

public class ExcelService {
    public List<Shop> list(InputStream inputStream) {
        List<Shop> list = new ArrayList<>();
        EasyExcel.read( inputStream ).head( Shop.class ).sheet()
                //通过监听器去解析表格
                .registerReadListener( new AnalysisEventListener<Shop>() {

                    @Override
                    //一行一行的进行解析
                    public void invoke(Shop shop, AnalysisContext analysisContext) {
                        list.add( shop );
                    }

                    @Override
                    //解析完成之后执行此回调
                    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                        System.out.println( "解析完成" );
                    }
                } ).doRead();//doRead开始执行
                return list;
    }
}

controller层创建ExcelController接收前端请求调用service层实现业务逻辑

import com.xxxx.shangchuan.entity.Shop;
import com.xxxx.shangchuan.service.ExcelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

@RequestMapping("/index")
@RestController
public class ExcelController {

    @Autowired
    private ExcelService excelService;

    @PostMapping("/Excel")
    public String Excel(@RequestParam("file")MultipartFile file){
        try{
            List<Shop> list = excelService.list( file.getInputStream() );
//            迭代器查看是否解析成功
            for(Shop shop : list){
                System.out.println( shop );
            }
        }catch (Exception e){
            return "error";
        }
        return "success";
    }
}

最后控制台可以看到数据已经解析成功
在这里插入图片描述

此时解析出来的数据存在于list集合中使用最后使用mybatis动态sql批量insert或者迭代器里一条一条插入mysql也可。。。
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:34:12  更:2022-01-17 11:35:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/27 1:23:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码