话不多说 上代码
// ExcelReader readerfankuidan = ExcelUtil
// .getReader(FileUtil.file("C:\\Users\\pc\\Desktop\\1\\aa\\sql\\ods_yj_fkd.csv"), 0);
// List<Map<String, Object>> fankuimap = readerfankuidan.readAll();
// for (Map<String, Object> map : fankuimap) {
// System.out.println(map.get("CJQK"));
// break;
// }
CsvReader reader = CsvUtil.getReader(); // 进行创建csv读取器
// 设置文件读取的分隔符
reader.setFieldSeparator(','); // 默认为 , 可不进行设置
// 通过hutool的文件工具进行读取csv文件,并且指定文件的编码
CsvData data = reader.read(FileUtil.file("C:\\Users\\pc\\Desktop\\1\\aa\\sql\\ods_yj_fkd.csv"));
List<CsvRow> rows = data.getRows(); // 获取到csv文件的每一行的数据存放到list
//若有标题,则获取首行标题
List<String> firstRawList = rows.get(0).getRawList();
//遍历行
LambdaQueryWrapper<DisputeParty> qq = new LambdaQueryWrapper<>();
qq.groupBy(DisputeParty::getPartyIdcard);
List<DisputeParty> list = disputePartyService.list(qq);
for (DisputeParty party : list) {
if (StringUtils.isEmpty(party.getPartyIdcard())) {
continue;
}
ArrayList<String> JQBHs = new ArrayList<>();
for (CsvRow csvRow : rows) {
List<String> rawList = csvRow.getRawList(); // csv一行的数据存放到list中
String cjqk = rawList.get(4);
String JQBH = rawList.get(0);
if (cjqk.contains(party.getPartyIdcard())) {
if (!JQBHs.contains(JQBH)) {
JQBHs.add(JQBH);
}
}
}
if (JQBHs.size()>0) {
party.setPartyIdcardNum(JQBHs.size());
LambdaUpdateWrapper<DisputeParty> up = new LambdaUpdateWrapper<>();
up.eq(DisputeParty::getId,party.getId());
up.set(DisputeParty::getPartyIdcardNum,JQBHs.size());
disputePartyMapper.update(null,up);
}
}