|
|
@@ -57,201 +57,197 @@ namespace Fine.OPCDaExcelImport
|
|
|
MessageBox.Show("路径没有选择!");
|
|
|
}
|
|
|
var mapper = new Mapper(ExcelPathTxt.Text);
|
|
|
- //foreach (NPOI.SS.UserModel.IName item in mapper.Workbook.GetAllNames())
|
|
|
- //{
|
|
|
- // //item.SheetName
|
|
|
-
|
|
|
- // var data = mapper.Take<模型生成>(item.SheetName);
|
|
|
- // List<IoModal> ios = new List<IoModal>();
|
|
|
- // foreach (var itemdata in data.Select(a => a.Value))
|
|
|
- // {
|
|
|
- // if (string.IsNullOrWhiteSpace(itemdata.测试方法))
|
|
|
- // {
|
|
|
- // continue;
|
|
|
- // }
|
|
|
-
|
|
|
- // var io = new IoModal();
|
|
|
- // io.APIName = itemdata.API接口名1;
|
|
|
- // io.DelayTime = 2000;
|
|
|
- // io.Content = string.IsNullOrWhiteSpace(itemdata.业务说明) ? itemdata.组件封装 : itemdata.业务说明;
|
|
|
- // io.IsCheck = itemdata.是否验证 == "否" ? false : true;
|
|
|
- // io.Method = itemdata.测试方法.ToLower() == "get" ? "get" : "post";
|
|
|
- // if (io.Method == "post")
|
|
|
- // {
|
|
|
- // if (itemdata.生成类型 == "单写")
|
|
|
- // {
|
|
|
- // io.PType = EAPIparType.InOneVal;
|
|
|
- // io.Params = new List<Params> { new Params {
|
|
|
- // Param="", keys=new List<WriteAndCheckKey>{ new WriteAndCheckKey {
|
|
|
- // CheckTagName=itemdata.写入点位.Split('=')[0],
|
|
|
- // WriteTagName=itemdata.写入点位.Split('=')[0].Trim()
|
|
|
- // } }
|
|
|
- // } };
|
|
|
- // }
|
|
|
- // else if (itemdata.生成类型 == "选单写")
|
|
|
- // {
|
|
|
- // io.PType = EAPIparType.InSel;
|
|
|
- // var pars = itemdata.选写多值.Split(',');
|
|
|
- // var points = itemdata.写入点位.Split('\n');
|
|
|
- // io.Params = new List<Params>();
|
|
|
- // for (int i = 0; i < pars.Length; i++)
|
|
|
- // {
|
|
|
- // var p = new Params
|
|
|
- // {
|
|
|
- // Param = pars[i].Trim(),
|
|
|
- // keys = points[i].Split(',').Select(b => new WriteAndCheckKey
|
|
|
- // {
|
|
|
- // WriteTagName = b.Split('=')[0].Trim(),
|
|
|
- // StrValue = b.Split('=')[1].Trim(),
|
|
|
- // CheckTagName = string.IsNullOrWhiteSpace(itemdata.检查点位) ? b.Split('=')[0].Trim() :
|
|
|
- // itemdata.检查点位.Split('\n')[i].Split('=')[0].Trim(),
|
|
|
- // CheckValue = string.IsNullOrWhiteSpace(itemdata.检查点位) ? b.Split('=')[1].Trim() :
|
|
|
- // itemdata.检查点位.Split('\n')[i].Split('=')[1].Trim()
|
|
|
- // }).ToList()
|
|
|
-
|
|
|
- // };
|
|
|
- // io.Params.Add(p);
|
|
|
-
|
|
|
- // }
|
|
|
-
|
|
|
- // }
|
|
|
-
|
|
|
- // else if (itemdata.生成类型 == "选多写")
|
|
|
- // {
|
|
|
- // io.PType = EAPIparType.inSelAndMultiVal;
|
|
|
- // var pars = itemdata.选写多值.Split(',');
|
|
|
- // var points = itemdata.写入点位.Split('\n');
|
|
|
- // io.Params = new List<Params>();
|
|
|
- // for (int i = 0; i < pars.Length; i++)
|
|
|
- // {
|
|
|
- // var p = new Params
|
|
|
- // {
|
|
|
- // Param = pars[i].Trim(),
|
|
|
- // keys = new List<WriteAndCheckKey>()
|
|
|
-
|
|
|
- // };
|
|
|
- // var pp = points[i].Split(',');
|
|
|
- // var ppp = new WriteAndCheckKey();
|
|
|
- // ppp.InputName = "BatchNum";
|
|
|
- // ppp.WriteTagName = pp[0].Trim();
|
|
|
- // ppp.CheckTagName = pp[0].Trim();
|
|
|
- // var pppp = new WriteAndCheckKey();
|
|
|
- // pppp.InputName = "BrandNum";
|
|
|
- // pppp.WriteTagName = pp[1].Trim();
|
|
|
- // pppp.CheckTagName = pp[1].Trim();
|
|
|
-
|
|
|
- // p.keys.Add(ppp);
|
|
|
- // p.keys.Add(pppp);
|
|
|
- // io.Params.Add(p);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // else if (itemdata.生成类型 == "多写1")
|
|
|
- // {
|
|
|
- // io.PType = EAPIparType.inMultiValObj;
|
|
|
-
|
|
|
- // var points = itemdata.写入点位.Split('\n');
|
|
|
- // io.Params = new List<Params>();
|
|
|
-
|
|
|
- // var p = new Params
|
|
|
- // {
|
|
|
- // Param = "",
|
|
|
- // keys = new List<WriteAndCheckKey>()
|
|
|
-
|
|
|
- // };
|
|
|
-
|
|
|
- // var p1 = new WriteAndCheckKey();
|
|
|
- // p1.InputName = "Weight";
|
|
|
- // p1.WriteTagName = points[0].Trim();
|
|
|
- // p1.CheckTagName = points[0].Trim();
|
|
|
- // var p2 = new WriteAndCheckKey();
|
|
|
- // p2.InputName = "BatchNum";
|
|
|
- // p2.WriteTagName = points[1].Trim();
|
|
|
- // p2.CheckTagName = points[1].Trim();
|
|
|
- // var p3 = new WriteAndCheckKey();
|
|
|
- // p3.InputName = "BrandNum";
|
|
|
- // p3.WriteTagName = points[2].Trim();
|
|
|
- // p3.CheckTagName = points[2].Trim();
|
|
|
- // p.keys.Add(p1);
|
|
|
- // p.keys.Add(p2);
|
|
|
- // p.keys.Add(p3);
|
|
|
- // io.Params.Add(p);
|
|
|
-
|
|
|
-
|
|
|
- // }
|
|
|
- // else if (itemdata.生成类型 == "多写2")
|
|
|
- // {
|
|
|
- // io.PType = EAPIparType.inMultiValObj;
|
|
|
-
|
|
|
- // var points = itemdata.写入点位.Split('\n');
|
|
|
- // io.Params = new List<Params>();
|
|
|
-
|
|
|
- // var p = new Params
|
|
|
- // {
|
|
|
- // Param = "",
|
|
|
- // keys = new List<WriteAndCheckKey>()
|
|
|
-
|
|
|
- // };
|
|
|
-
|
|
|
- // var p1 = new WriteAndCheckKey();
|
|
|
- // p1.InputName = "GDNum";
|
|
|
- // p1.WriteTagName = points[0].Trim();
|
|
|
- // p1.CheckTagName = points[0].Trim();
|
|
|
- // var p2 = new WriteAndCheckKey();
|
|
|
- // p2.InputName = "BatchNum";
|
|
|
- // p2.WriteTagName = points[1].Trim();
|
|
|
- // p2.CheckTagName = points[1].Trim();
|
|
|
- // var p3 = new WriteAndCheckKey();
|
|
|
- // p3.InputName = "BrandNum";
|
|
|
- // p3.WriteTagName = points[2].Trim();
|
|
|
- // p3.CheckTagName = points[2].Trim();
|
|
|
- // p.keys.Add(p1);
|
|
|
- // p.keys.Add(p2);
|
|
|
- // p.keys.Add(p3);
|
|
|
- // io.Params.Add(p);
|
|
|
-
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
- // else if (io.Method == "get")
|
|
|
-
|
|
|
-
|
|
|
- // {
|
|
|
- // if (string.IsNullOrWhiteSpace(itemdata.写入点位))
|
|
|
- // {
|
|
|
- // continue;
|
|
|
- // }
|
|
|
- // io.PType = EAPIparType.NoParam;
|
|
|
- // //var pars = itemdata.选写多值.Split(',');
|
|
|
- // var points = itemdata.写入点位.Split('\n');
|
|
|
- // io.Params = new List<Params>();
|
|
|
-
|
|
|
- // var p = new Params { Param = "", keys = new List<WriteAndCheckKey>() };
|
|
|
- // for (int j = 0; j < points.Length; j++)
|
|
|
- // {
|
|
|
- // if (string.IsNullOrWhiteSpace(points[j]))
|
|
|
- // {
|
|
|
- // continue;
|
|
|
- // }
|
|
|
- // var d = new WriteAndCheckKey
|
|
|
- // {
|
|
|
- // WriteTagName = points[j].Split('=')[0].Trim(),
|
|
|
- // StrValue = points[j].Split('=')[1].Trim(),
|
|
|
- // CheckTagName = string.IsNullOrWhiteSpace(itemdata.检查点位) ? points[j].Split('=')[0].Trim() :
|
|
|
- // itemdata.检查点位.Split('\n')[j].Split('=')[0].Trim(),
|
|
|
- // CheckValue = string.IsNullOrWhiteSpace(itemdata.检查点位) ? points[j].Split('=')[1].Trim() :
|
|
|
- // itemdata.检查点位.Split('\n')[j].Split('=')[1].Trim()
|
|
|
- // };
|
|
|
- // p.keys.Add(d);
|
|
|
- // }
|
|
|
- // io.Params.Add(p);
|
|
|
- // }
|
|
|
- // ios.Add(io);
|
|
|
-
|
|
|
- // }
|
|
|
-
|
|
|
- // File.WriteAllText(Path.Combine(ExcelExportTxt.Text, item.SheetName + ".json"), JsonConvert.SerializeObject(ios, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }));
|
|
|
-
|
|
|
- //}
|
|
|
+ foreach (NPOI.SS.UserModel.IName item in mapper.Workbook.GetAllNames())
|
|
|
+ {
|
|
|
+ //item.SheetName
|
|
|
+
|
|
|
+ var data = mapper.Take<模型生成>(item.SheetName);
|
|
|
+ List<Fine.OPCDaExcelImport.Excel.ExcelModal> ios = new List<Fine.OPCDaExcelImport.Excel.ExcelModal>();
|
|
|
+ foreach (var itemdata in data.Select(a => a.Value))
|
|
|
+ {
|
|
|
+ if (string.IsNullOrWhiteSpace(itemdata.测试方法))
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ var io = new Fine.OPCDaExcelImport.Excel.ExcelModal();
|
|
|
+ io.APIName = itemdata.API接口名1;
|
|
|
+ io.DelayTime = 2000;
|
|
|
+ io.Content = string.IsNullOrWhiteSpace(itemdata.业务说明) ? itemdata.组件封装 : itemdata.业务说明;
|
|
|
+ io.IsCheck = itemdata.是否检查 == "否" ? false : true;
|
|
|
+ io.Method = itemdata.测试方法.ToLower() == "get" ? "get" : "post";
|
|
|
+ if (io.Method == "post")
|
|
|
+ {
|
|
|
+ if (itemdata.生成类型 == "1")
|
|
|
+ {
|
|
|
+ io.PType = EAPIparType.InOneVal;
|
|
|
+ io.Params = new List<Fine.OPCDaExcelImport.Excel.Params> { new Fine.OPCDaExcelImport.Excel.Params {
|
|
|
+ Param="", keys=new List<Fine.OPCDaExcelImport.Excel.WriteAndCheckKey>{ new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey {
|
|
|
+ CheckTagName=itemdata.写入点位.Split('=')[0],
|
|
|
+ WriteTagName=itemdata.写入点位.Split('=')[0].Trim()
|
|
|
+ } }
|
|
|
+ } };
|
|
|
+ }
|
|
|
+ else if (itemdata.生成类型 == "3")
|
|
|
+ {
|
|
|
+ io.PType = EAPIparType.InSel;
|
|
|
+ var pars = itemdata.选写多值.Split(',');
|
|
|
+ var points = itemdata.写入点位.Split('\n');
|
|
|
+ io.Params = new List<Fine.OPCDaExcelImport.Excel.Params>();
|
|
|
+ for (int i = 0; i < pars.Length; i++)
|
|
|
+ {
|
|
|
+ var p = new Fine.OPCDaExcelImport.Excel.Params
|
|
|
+ {
|
|
|
+ Param = pars[i].Trim(),
|
|
|
+ keys = points[i].Split(',').Select(b => new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey
|
|
|
+ {
|
|
|
+ WriteTagName = b.Split('=')[0].Trim(),
|
|
|
+ StrValue = b.Split('=')[1].Trim(),
|
|
|
+ CheckTagName = string.IsNullOrWhiteSpace(itemdata.检查点位) ? b.Split('=')[0].Trim() :
|
|
|
+ itemdata.检查点位.Split('\n')[i].Split('=')[0].Trim(),
|
|
|
+ CheckValue = string.IsNullOrWhiteSpace(itemdata.检查点位) ? b.Split('=')[1].Trim() :
|
|
|
+ itemdata.检查点位.Split('\n')[i].Split('=')[1].Trim()
|
|
|
+ }).ToList()
|
|
|
+
|
|
|
+ };
|
|
|
+ io.Params.Add(p);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ else if (itemdata.生成类型 == "4")
|
|
|
+ {
|
|
|
+ io.PType = EAPIparType.inSelAndMultiVal;
|
|
|
+ var pars = itemdata.选写多值.Split(',');
|
|
|
+ var points = itemdata.写入点位.Split('\n');
|
|
|
+ io.Params = new List<Fine.OPCDaExcelImport.Excel.Params>();
|
|
|
+ for (int i = 0; i < pars.Length; i++)
|
|
|
+ {
|
|
|
+ var p = new Fine.OPCDaExcelImport.Excel.Params
|
|
|
+ {
|
|
|
+ Param = pars[i].Trim(),
|
|
|
+ keys = new List<Fine.OPCDaExcelImport.Excel.WriteAndCheckKey>()
|
|
|
+
|
|
|
+ };
|
|
|
+ var pp = points[i].Split(',');
|
|
|
+ var ppp = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ ppp.InputName = "BatchNum";
|
|
|
+ ppp.WriteTagName = pp[0].Trim();
|
|
|
+ ppp.CheckTagName = pp[0].Trim();
|
|
|
+ var pppp = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ pppp.InputName = "BrandNum";
|
|
|
+ pppp.WriteTagName = pp[1].Trim();
|
|
|
+ pppp.CheckTagName = pp[1].Trim();
|
|
|
+
|
|
|
+ p.keys.Add(ppp);
|
|
|
+ p.keys.Add(pppp);
|
|
|
+ io.Params.Add(p);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (itemdata.生成类型 == "2W")
|
|
|
+ {
|
|
|
+ io.PType = EAPIparType.inMultiValObj;
|
|
|
+
|
|
|
+ var points = itemdata.写入点位.Split('\n');
|
|
|
+ io.Params = new List<Fine.OPCDaExcelImport.Excel.Params>();
|
|
|
+
|
|
|
+ var p = new Fine.OPCDaExcelImport.Excel.Params
|
|
|
+ {
|
|
|
+ Param = "",
|
|
|
+ keys = new List<Fine.OPCDaExcelImport.Excel.WriteAndCheckKey>()
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+ var p1 = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ p1.InputName = "Weight";
|
|
|
+ p1.WriteTagName = points[0].Trim();
|
|
|
+ p1.CheckTagName = points[0].Trim();
|
|
|
+ var p2 = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ p2.InputName = "BatchNum";
|
|
|
+ p2.WriteTagName = points[1].Trim();
|
|
|
+ p2.CheckTagName = points[1].Trim();
|
|
|
+ var p3 = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ p3.InputName = "BrandNum";
|
|
|
+ p3.WriteTagName = points[2].Trim();
|
|
|
+ p3.CheckTagName = points[2].Trim();
|
|
|
+ p.keys.Add(p1);
|
|
|
+ p.keys.Add(p2);
|
|
|
+ p.keys.Add(p3);
|
|
|
+ io.Params.Add(p);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (itemdata.生成类型 == "2G")
|
|
|
+ {
|
|
|
+ io.PType = EAPIparType.inMultiValObj;
|
|
|
+
|
|
|
+ var points = itemdata.写入点位.Split('\n');
|
|
|
+ io.Params = new List<Fine.OPCDaExcelImport.Excel.Params>();
|
|
|
+
|
|
|
+ var p = new Fine.OPCDaExcelImport.Excel.Params
|
|
|
+ {
|
|
|
+ Param = "",
|
|
|
+ keys = new List<Fine.OPCDaExcelImport.Excel.WriteAndCheckKey>()
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+ var p1 = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ p1.InputName = "GDNum";
|
|
|
+ p1.WriteTagName = points[0].Trim();
|
|
|
+ p1.CheckTagName = points[0].Trim();
|
|
|
+ var p2 = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ p2.InputName = "BatchNum";
|
|
|
+ p2.WriteTagName = points[1].Trim();
|
|
|
+ p2.CheckTagName = points[1].Trim();
|
|
|
+ var p3 = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey();
|
|
|
+ p3.InputName = "BrandNum";
|
|
|
+ p3.WriteTagName = points[2].Trim();
|
|
|
+ p3.CheckTagName = points[2].Trim();
|
|
|
+ p.keys.Add(p1);
|
|
|
+ p.keys.Add(p2);
|
|
|
+ p.keys.Add(p3);
|
|
|
+ io.Params.Add(p);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (io.Method == "get")
|
|
|
+ {
|
|
|
+ if (string.IsNullOrWhiteSpace(itemdata.写入点位))
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ io.PType = EAPIparType.NoParam;
|
|
|
+ //var pars = itemdata.选写多值.Split(',');
|
|
|
+ var points = itemdata.写入点位.Split('\n');
|
|
|
+ io.Params = new List<Fine.OPCDaExcelImport.Excel.Params>();
|
|
|
+
|
|
|
+ var p = new Fine.OPCDaExcelImport.Excel.Params { Param = "", keys = new List<Fine.OPCDaExcelImport.Excel.WriteAndCheckKey>() };
|
|
|
+ for (int j = 0; j < points.Length; j++)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrWhiteSpace(points[j]))
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ var d = new Fine.OPCDaExcelImport.Excel.WriteAndCheckKey
|
|
|
+ {
|
|
|
+ WriteTagName = points[j].Split('=')[0].Trim(),
|
|
|
+ StrValue = points[j].Split('=')[1].Trim(),
|
|
|
+ CheckTagName = string.IsNullOrWhiteSpace(itemdata.检查点位) ? points[j].Split('=')[0].Trim() :
|
|
|
+ itemdata.检查点位.Split('\n')[j].Split('=')[0].Trim(),
|
|
|
+ CheckValue = string.IsNullOrWhiteSpace(itemdata.检查点位) ? points[j].Split('=')[1].Trim() :
|
|
|
+ itemdata.检查点位.Split('\n')[j].Split('=')[1].Trim()
|
|
|
+ };
|
|
|
+ p.keys.Add(d);
|
|
|
+ }
|
|
|
+ io.Params.Add(p);
|
|
|
+ }
|
|
|
+ ios.Add(io);
|
|
|
+ }
|
|
|
+
|
|
|
+ File.WriteAllText(Path.Combine(ExcelExportTxt.Text, item.SheetName + ".json"), JsonConvert.SerializeObject(ios, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }));
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|