Java怎么上传Excel文件保存到本地MySQL数据库?
写在前面:
1.实现功能:在浏览器端上传文件保存到数据库
2.工具说明:Java版本1.8;浏览器Chrome;IDE工具 IntelliJ IDEA2017.2.1(强烈建议);MySQL 5.7;调试工具Postman
3.代码重点:Excel中的数据格式要和实体表、数据库中字段格式保持一致
最近实现一个业务功能,用户可以导入表格数据到数据库的,学习了一下,写个笔记立个flag,防止入坑,有几种不同的方案,但本质都是一样利用MultipartFile 这个接口,文件传入入口然后进行数据的读写,实现功能不是很难,下面是各种方案的代码:
方案一:上传Excel在本地先备份再保存到数据库
public void importExcel(MultipartFile file) {
//在本地指定保存的位置这里写代码片
File uploadDir = new File("D:\\fileupload");
//判断该文件夹是否存在,防止重复创建文件
if (!uploadDir.exists()) {
uploadDir.mkdirs();
}
//新建一个文件
File tempFile = new File("D:\\fileupload\\" + file.getOriginalFilename() + ".xlsx");
//初始化输入流
InputStream is = null;
Workbook wb = null;
//获取文件名
String fileName = file.getOriginalFilename();
try {
//将上传的文件写入新建的文件中
file.transferTo(tempFile);
//根据新建的文件实例化输入流
is = new FileInputStream(tempFile);
//根据不同的Excel格式实例不同的对象
if(ExcelImportUtils.isExcel2007(fileName)){
wb = new XSSFWorkbook(is);
}else{
wb = new H