Main.java
2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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<List<Object>> transListBeanTo2List(List<GoodsInfoRow> result) {
List<List<Object>> data = new ArrayList<List<Object>>();
//加入HEADER
List<Object> header = new ArrayList<Object>();
header.add("原表名称");
header.add("商品名称");
header.add("原表规格");
header.add("自选规格");
header.add("仓库群名称");
header.add("发文件的人");
data.add(header);
//加入BODY
for(int i=1; i<result.size(); ++i) {
GoodsInfoRow row = result.get(i);
List<Object> item = new ArrayList<Object>();
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;
}
}