每次上传表时,将上传的表名与以往上传的表名做对比,如果相同,则提示'表已经有记录,是否上传相同表'并结束此方法。
实现思路:
首先,每次上传表都要把表明记录一下,可以新建一个表(数据库表),专门用来存储表名。
之所以不用数据记录,是因为项目关闭,数组里的记录就空了。

然后我们分析代码:
 
 package com.jhsoft.product.wages.controller;
import com.jhsoft.product.util.ReadExcel;
import com.jhsoft.product.wages.service.WorkExcelService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/jh_product/workexcel")
public class WorkExcelController extends BaseController {
    @Autowired
    private WorkExcelService workExcelService;
    @PostMapping("/import")
    @ResponseBody
    @CrossOrigin
    public AjaxResult importworkExcel(@RequestPart("file") MultipartFile file) {
        //创建处理EXCEL的类
        ReadExcel readExcel = new ReadExcel();
        //解析excel,获取上传的事件单
        List<Map<String, Object>> beExamList = readExcel.getExcelInfo(file);
        String message = workExcelService.importworkExcel(beExamList);
        return AjaxResult.success(message);
    } 
 

上面这个controller文件里面记录的是:
List<Map<String, Object>> beExamList = readExcel.getExcelInfo(file);工具类readExcel 获取文件(file),然后,将结果给到beExamList
这一步是获取文件,然后我们去到具体的readExcel实现类,看文件名处理过程

 
通过以上图片,我们知道,他记录的标题是stringCellValue,然后我们找一下标题保存到了哪里。

他放到了map集合里面,我们再找一下map集合是那个

好,到这,我们知道工具类中处理过后的标题是啥了,然后,我们去实现类impl里面将这个标题添加到数据库表(记录表名称的那个表),然后在比对每次上传的数据是否在数据库表有记录。
1.对应数据库表,添加mapper和mapper.xml文件
自动生成的代码,放进去。
然后把mapper文件清空,
把xml文件不需要的方法也可以删掉

本xml文件只保留这俩方法,一个是添加,一个查询。

xml爆红的这些都可以删掉 parameterType="TTablename" resultMap="TTablenameResult"parameterType="TTablename"
package位置
 
对应xml位置:

对应xml文件写mapper

2.改数据库xml查询语句

 
 
 
 
 
工具类中获取文件名全称,

接着往下看方法:
 
 
 
接着去实现层,也就是impl
@Autowired private TTablenameMapper tTablenameMapper;
String filename ="";
filename = String.valueOf(map.get("filename")); int num=tTablenameMapper.selectTTablenameList(filename); if(num>0){ return "此文件名已被导入,请更换文件名"; }

然后在循环外,加入一条往数据库添加的语句。
tTablenameMapper.insertTTablename(filename);



















