SpringBoot实现实现Excel文件批量上传导入数据库文件批量上传导入数据库
主要为大家详细介绍了SpringBoot实现Excel文件批量上传导入数据库,文中示例代码介绍的非常详细,具有一定的
参考价值,感兴趣的小伙伴们可以参考一下
Spring boot + Spring data jpa + Thymeleaf
批量插入 + POI读取 + 文件上传
pom.xml:
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
upload.html:
<form enctype="multipart/form-data" method="post" action="/upload/excel">
文件
<input type="file" name="file" /> <input type="submit" value="上传" />
</form>
如果自己的项目中使用了Spring security,页面提交文件之后,会出现403的错误,最快的解决办法,如下:
http.csrf().ignoringAntMatchers("/upload/**").
在security的配置文件中,加入上边的代码即可。当然还有其他的办法,大家可在网上查找。
Controller:
package org.meng.project.controller;
import org.meng.project.service.ExcelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
/**
*<p>上传Controller类</p>
*<p> 上传文件的Controller</p>
* @Author MengMeng
* @Date 2018/10/6 </p>
* @version: 0.1
* @since JDK 1.80_144
*/
@Controller
@RequestMapping("/upload")
public class UploadController {
@Autowired
private HttpServletRequest request;
@Autowired
private ExcelService excelService;
//跳转到上传文件的页面
@RequestMapping(value = "", method = RequestMethod.GET)
public String goUpload() {
//跳转到 templates 中tools目录下的 upload.html
return "tools/upload";
}
@RequestMapping(value = "/excel",method = RequestMethod.POST)
public String upload(MultipartFile file, Model model) throws Exception {
boolean flag = excelService.getExcel(file);
评论0