修复只生成第一个表byte数据的问题
This commit is contained in:
@@ -67,7 +67,7 @@ namespace ExcelTool
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var excelHeader = ExcelHeaders(fileName, out sheetName, out sheetCount);
|
var excelHeader = ExcelHeaders(fileName, out sheetName, out sheetCount, sheetNum);
|
||||||
var tableRows = new List<TableExcelRow>();
|
var tableRows = new List<TableExcelRow>();
|
||||||
|
|
||||||
using FileStream fs = File.OpenRead(fileName);
|
using FileStream fs = File.OpenRead(fileName);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -22,6 +23,14 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
// 枚举类型映射
|
||||||
|
Dictionary<string, string> enumMap = new()
|
||||||
|
{
|
||||||
|
{ "killmode", "KillMode" },
|
||||||
|
{ "mixingtype", "MixingType" },
|
||||||
|
{ "containertype", "ContainerType" },
|
||||||
|
{ "blendcrossfadetype", "BlendCrossFadeType" }
|
||||||
|
};
|
||||||
FileInfo fileInfo = new(fileName);
|
FileInfo fileInfo = new(fileName);
|
||||||
if (string.IsNullOrEmpty(outputDir))
|
if (string.IsNullOrEmpty(outputDir))
|
||||||
{
|
{
|
||||||
@@ -58,49 +67,66 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
sb.Append($"\t/// </summary>\n");
|
sb.Append($"\t/// </summary>\n");
|
||||||
var type = headers[i].FieldType.ToLower();
|
var type = headers[i].FieldType.ToLower();
|
||||||
if (type.Equals("vector"))
|
var origType = headers[i].FieldType;
|
||||||
|
var fieldName = headers[i].FieldName;
|
||||||
|
if (enumMap.ContainsKey(type))
|
||||||
|
{
|
||||||
|
sb.Append($"\tpublic {enumMap[type]} {fieldName} {{ get; set; }}\n\n");
|
||||||
|
}
|
||||||
|
else if (type.Equals("vector"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<float> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<float> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("vectorlist"))
|
else if (type.Equals("vectorlist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<List<float>> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<List<float>> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("intlist"))
|
else if (type.Equals("intlist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<int> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<int> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("boollist"))
|
else if (type.Equals("boollist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<bool> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<bool> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("floatlist"))
|
else if (type.Equals("floatlist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<float> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<float> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("stringlist"))
|
else if (type.Equals("stringlist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<string> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<string> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("longlist"))
|
else if (type.Equals("longlist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<long> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<long> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("uintlist"))
|
else if (type.Equals("uintlist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<uint> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<uint> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("ushortlist"))
|
else if (type.Equals("ushortlist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<ushort> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<ushort> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("sbytelist"))
|
else if (type.Equals("sbytelist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<sbyte> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<sbyte> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Equals("bytelist"))
|
else if (type.Equals("bytelist"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<byte> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<byte> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (type.Contains("list<"))
|
else if (type.Contains("list<"))
|
||||||
{
|
{
|
||||||
@@ -109,22 +135,27 @@ namespace ExcelTool.Parser
|
|||||||
if (newType.Equals("int"))
|
if (newType.Equals("int"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<int> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<int> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (newType.Equals("bool"))
|
else if (newType.Equals("bool"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<bool> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<bool> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (newType.Equals("float"))
|
else if (newType.Equals("float"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<float> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<float> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (newType.Equals("long"))
|
else if (newType.Equals("long"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<long> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<long> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else if (newType.Equals("string"))
|
else if (newType.Equals("string"))
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic List<string> {0}", headers[i].FieldName));
|
sb.Append(string.Format("\tpublic List<string> {0}", headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -134,8 +165,8 @@ namespace ExcelTool.Parser
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
sb.Append(string.Format("\tpublic {0} {1}", headers[i].FieldType.ToLower(), headers[i].FieldName));
|
sb.Append(string.Format("\tpublic {0} {1}", headers[i].FieldType.ToLower(), headers[i].FieldName));
|
||||||
|
sb.Append(" { get; set; }\n\n");
|
||||||
}
|
}
|
||||||
sb.Append(" { get; set; }\n\n");
|
|
||||||
}
|
}
|
||||||
sb.Append("\n\tpublic void DeSerialize(BinaryReader reader)\n");
|
sb.Append("\n\tpublic void DeSerialize(BinaryReader reader)\n");
|
||||||
sb.Append("\t{\n");
|
sb.Append("\t{\n");
|
||||||
@@ -143,7 +174,11 @@ namespace ExcelTool.Parser
|
|||||||
{
|
{
|
||||||
var type = header.FieldType.ToLower();
|
var type = header.FieldType.ToLower();
|
||||||
var name = header.FieldName;
|
var name = header.FieldName;
|
||||||
if (type.Equals("int"))
|
if (enumMap.ContainsKey(type))
|
||||||
|
{
|
||||||
|
sb.Append($"\t\t{name} = ({enumMap[type]})reader.ReadByte();\n");
|
||||||
|
}
|
||||||
|
else if (type.Equals("int"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\t{name} = reader.ReadInt32();\n");
|
sb.Append($"\t\t{name} = reader.ReadInt32();\n");
|
||||||
}
|
}
|
||||||
@@ -181,11 +216,11 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
else if (type.Equals("vector"))
|
else if (type.Equals("vector"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<float>();\n");
|
sb.Append($"\t\t\t{name} = new List<float>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n");
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
@@ -197,11 +232,11 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
else if (type.Equals("vectorlist"))
|
else if (type.Equals("vectorlist"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<List<float>>();\n");
|
sb.Append($"\t\t\t{name} = new List<List<float>>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\tvar tempList = new List<float>();\n");
|
sb.Append($"\t\t\t\tvar tempList = new List<float>();\n");
|
||||||
sb.Append($"\t\t\t\tvar tempListCount = reader.ReadInt32();\n");
|
sb.Append($"\t\t\t\tvar tempListCount = reader.ReadInt32();\n");
|
||||||
@@ -219,11 +254,11 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
else if (type.Equals("intlist"))
|
else if (type.Equals("intlist"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<int>();\n");
|
sb.Append($"\t\t\t{name} = new List<int>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt32());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt32());\n");
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
@@ -234,11 +269,11 @@ namespace ExcelTool.Parser
|
|||||||
sb.Append("\t\t}\n");
|
sb.Append("\t\t}\n");
|
||||||
}else if (type.Equals("uintlist"))
|
}else if (type.Equals("uintlist"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<uint>();\n");
|
sb.Append($"\t\t\t{name} = new List<uint>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadUInt32());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadUInt32());\n");
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
@@ -250,11 +285,11 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
else if (type.Equals("boollist"))
|
else if (type.Equals("boollist"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<bool>();\n");
|
sb.Append($"\t\t\t{name} = new List<bool>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadBoolean());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadBoolean());\n");
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
@@ -266,11 +301,11 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
else if (type.Equals("floatlist"))
|
else if (type.Equals("floatlist"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<float>();\n");
|
sb.Append($"\t\t\t{name} = new List<float>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n");
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
@@ -282,11 +317,11 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
else if (type.Equals("stringlist"))
|
else if (type.Equals("stringlist"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<string>();\n");
|
sb.Append($"\t\t\t{name} = new List<string>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadString());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadString());\n");
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
@@ -298,11 +333,11 @@ namespace ExcelTool.Parser
|
|||||||
}
|
}
|
||||||
else if (type.Equals("longlist"))
|
else if (type.Equals("longlist"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
sb.Append($"\t\t\t{name} = new List<long>();\n");
|
sb.Append($"\t\t\t{name} = new List<long>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt64());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt64());\n");
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
@@ -316,47 +351,47 @@ namespace ExcelTool.Parser
|
|||||||
{
|
{
|
||||||
var tempS = type.Substring(5);
|
var tempS = type.Substring(5);
|
||||||
var listTType = tempS.Substring(0, tempS.Length - 1);
|
var listTType = tempS.Substring(0, tempS.Length - 1);
|
||||||
sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n");
|
sb.Append($"\t\tvar {name.ToCamelCase()}Count = reader.ReadInt32();\n");
|
||||||
sb.Append($"\t\tif ({name}Count > 0)\n");
|
sb.Append($"\t\tif ({name.ToCamelCase()}Count > 0)\n");
|
||||||
sb.Append("\t\t{\n");
|
sb.Append("\t\t{\n");
|
||||||
if (listTType.Equals("int"))
|
if (listTType.Equals("int"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\t\t{name} = new List<int>();\n");
|
sb.Append($"\t\t\t{name} = new List<int>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt32());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt32());\n");
|
||||||
}
|
}
|
||||||
else if (listTType.Equals("bool"))
|
else if (listTType.Equals("bool"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\t\t{name} = new List<bool>();\n");
|
sb.Append($"\t\t\t{name} = new List<bool>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadBoolean());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadBoolean());\n");
|
||||||
}
|
}
|
||||||
else if (listTType.Equals("float"))
|
else if (listTType.Equals("float"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\t\t{name} = new List<float>();\n");
|
sb.Append($"\t\t\t{name} = new List<float>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n");
|
||||||
}
|
}
|
||||||
else if (listTType.Equals("long"))
|
else if (listTType.Equals("long"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\t\t{name} = new List<long>();\n");
|
sb.Append($"\t\t\t{name} = new List<long>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt64());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt64());\n");
|
||||||
}
|
}
|
||||||
else if (listTType.Equals("string"))
|
else if (listTType.Equals("string"))
|
||||||
{
|
{
|
||||||
sb.Append($"\t\t\t{name} = new List<string>();\n");
|
sb.Append($"\t\t\t{name} = new List<string>();\n");
|
||||||
sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n");
|
sb.Append($"\t\t\tfor (int i = 0; i < {name.ToCamelCase()}Count; i++)\n");
|
||||||
sb.Append("\t\t\t{\n");
|
sb.Append("\t\t\t{\n");
|
||||||
sb.Append($"\t\t\t\t{name}.Add(reader.ReadString());\n");
|
sb.Append($"\t\t\t\t{name}.Add(reader.ReadString());\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ConsoleHelper.WriteErrorLine("数组泛型T不是指定类型");
|
"数组泛型T不是指定类型".WriteErrorLine();
|
||||||
}
|
}
|
||||||
sb.Append("\t\t\t}\n");
|
sb.Append("\t\t\t}\n");
|
||||||
sb.Append("\t\t}\n");
|
sb.Append("\t\t}\n");
|
||||||
@@ -378,7 +413,11 @@ namespace ExcelTool.Parser
|
|||||||
{
|
{
|
||||||
var type = header.FieldType.ToLower();
|
var type = header.FieldType.ToLower();
|
||||||
var name = header.FieldName;
|
var name = header.FieldName;
|
||||||
if (type.Equals("int") ||
|
if (enumMap.ContainsKey(type))
|
||||||
|
{
|
||||||
|
sb.Append($"\t\twriter.Write((byte){name});\n");
|
||||||
|
}
|
||||||
|
else if (type.Equals("int") ||
|
||||||
type.Equals("bool") ||
|
type.Equals("bool") ||
|
||||||
type.Equals("float") ||
|
type.Equals("float") ||
|
||||||
type.Equals("string") ||
|
type.Equals("string") ||
|
||||||
|
|||||||
@@ -10,6 +10,13 @@ namespace ExcelTool.Parser
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
Dictionary<string, string> enumMap = new()
|
||||||
|
{
|
||||||
|
{ "killmode", "byte" },
|
||||||
|
{ "mixingtype", "byte" },
|
||||||
|
{ "containertype", "byte" },
|
||||||
|
{ "blendcrossfadetype", "byte" }
|
||||||
|
};
|
||||||
FileInfo fileInfo = new(fileName);
|
FileInfo fileInfo = new(fileName);
|
||||||
if (string.IsNullOrEmpty(outputDir))
|
if (string.IsNullOrEmpty(outputDir))
|
||||||
{
|
{
|
||||||
@@ -19,10 +26,14 @@ namespace ExcelTool.Parser
|
|||||||
for (int sheetNum = 0; ; sheetNum++)
|
for (int sheetNum = 0; ; sheetNum++)
|
||||||
{
|
{
|
||||||
var tableData = ExcelHelper.ExcelDatas(fileName, out string sheetName, out int sheetCount, sheetNum);
|
var tableData = ExcelHelper.ExcelDatas(fileName, out string sheetName, out int sheetCount, sheetNum);
|
||||||
if (tableData == null || sheetName.StartsWith($"#") || sheetNum > sheetCount)
|
if (tableData == null || sheetNum >= sheetCount)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
List<Tuple<string, string>> datas = new();
|
// # 开头的 sheet 只跳过
|
||||||
|
if (sheetName.StartsWith("#"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
List<Tuple<string, string>> datas = [];
|
||||||
//先写入行数,然后每一行的数据一次写入 小写类型、字符串
|
//先写入行数,然后每一行的数据一次写入 小写类型、字符串
|
||||||
Tuple<string, string> rowCount = new("int", tableData.RowCounts.ToString());
|
Tuple<string, string> rowCount = new("int", tableData.RowCounts.ToString());
|
||||||
datas.Add(rowCount);
|
datas.Add(rowCount);
|
||||||
@@ -32,6 +43,12 @@ namespace ExcelTool.Parser
|
|||||||
{
|
{
|
||||||
var type = tableData.Headers[i].FieldType.ToLower();
|
var type = tableData.Headers[i].FieldType.ToLower();
|
||||||
var data = row.StrList[i];
|
var data = row.StrList[i];
|
||||||
|
|
||||||
|
if (enumMap.ContainsKey(type))
|
||||||
|
{
|
||||||
|
type = enumMap[type];
|
||||||
|
}
|
||||||
|
|
||||||
datas.Add(new Tuple<string, string>(type, data));
|
datas.Add(new Tuple<string, string>(type, data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user