package com.it.excel.excelLearn; import java.io.IOException; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class App { public static void main(String[] args) throws IOException { String filePath = "C:\Users\gzh\Desktop\test.xlsx"; List<ExcelSheetStructure> excelSheets = ExcelUtil.readExcel(filePath); // 获取所需sheet页 ExcelSheetStructure sheetStructure = null; for (ExcelSheetStructure sheet : excelSheets) { if (sheet.getSheetName().equals("产品数据")) { sheetStructure = sheet; break; } } if (null == sheetStructure) { System.out.println("导入的Excel中没有【产品数据】sheet页"); return; } // 把非表头数据转化为可插入数据 Map<String, String> replaceHeaderMap = new HashMap<>(); replaceHeaderMap.put("产品编号", "productNo"); replaceHeaderMap.put("产品名称", "productName"); List<Map<String, Object>> notHeaderData = sheetStructure.getSheetTableList(); // 输出为替换前的数据 System.out.println(notHeaderData); // 待插入数据定义 List<Map<String, Object>> insertData = new LinkedList<>(); for (Map<String, Object> notHeaderRowMap : notHeaderData) { Map<String,Object> insertMap = new HashMap<>(); Set<Entry<String, Object>> entrySet = notHeaderRowMap.entrySet(); for (Entry<String, Object> entry : entrySet) { Set<String> replaceHeaderMapKeySet = replaceHeaderMap.keySet(); for (String key : replaceHeaderMapKeySet) { if(entry.getKey().equals(key)){ insertMap.put(replaceHeaderMap.get(key), entry.getValue()); break; } } } insertData.add(insertMap); } // 输出新待插入数据库中的数据 System.out.println(insertData); // for循环,一条一条记录插入数据库 } }