package com.taover.bazhuayun.analysis.script.goodscollect; import java.io.File; import java.util.ArrayList; import java.util.List; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.poi.excel.ExcelUtil; public class Main { public static void main(String[] args) { try { analysisGoodsName(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void analysisGoodsName() throws Exception { String[] goodsNamePatternArr = new String[]{"商品名称","商品标题","货品名称","商品名称","商品信息","品名","商品型号","商品名","商品简称","产品名称"}; String[] goodsSkuNameParrternArr = new String[]{"商品规格名","规格","商品规格","规格名称","商品型号"}; String dataDirPath = "C:\\Users\\Administrator\\Desktop\\悟空家21-25"; String groupInfoFilePath = dataDirPath + File.separator + "悟空家-仓库群文件-21-25.xlsx"; String goodsDataFileDirPath = dataDirPath + File.separator + "data"; String logFilePath = dataDirPath + File.separator + "dealinfo.log"; String resultDataFilePath = dataDirPath + File.separator + "result.xls"; //加载基础数据,文件来源 GroupInfoExcelData groupInfoData = new GroupInfoExcelData(); groupInfoData.load(groupInfoFilePath); //读取文件列表,交由解析器处理 GoodsDataFileParser parser = new GoodsDataFileParser(goodsNamePatternArr, goodsSkuNameParrternArr, groupInfoData); parser.setFileNameIgnorePreffix("【异常物流信息】-"); parser.parse(groupInfoData, new File(goodsDataFileDirPath).listFiles()); //结果写入结果文件 ExcelUtil.getWriter(new File(resultDataFilePath)).write(transListBeanTo2List(parser.getResult())).flush(); //执行信息写入日志文件 FileUtil.writeString(parser.getLogString(), logFilePath, CharsetUtil.CHARSET_UTF_8); } private static List> transListBeanTo2List(List result) { List> data = new ArrayList>(); //加入HEADER List header = new ArrayList(); header.add("原表名称"); header.add("商品名称"); header.add("原表规格"); header.add("自选规格"); header.add("仓库群名称"); header.add("发文件的人"); data.add(header); //加入BODY for(int i=1; i item = new ArrayList(); item.add(row.getOriginGoodsName()); item.add(row.getCommonGoodsName()); item.add(row.getOriginGoodsSkuName()); item.add(row.getCommonGoodsSkuName()); item.add(row.getGroupNickname()); item.add(row.getSenderNickname()); data.add(item); } return data; } }