From 5414effcbde220b600b90ccade5214648bca5a73 Mon Sep 17 00:00:00 2001 From: dingxiaowei <1213250243@qq.com> Date: Fri, 30 Sep 2022 16:16:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=B1=BB=E6=94=B9=E6=88=90partial=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/ExcelTool/v15/.suo | Bin 81408 -> 83968 bytes .../v15/Server/sqlite3/storage.ide-shm | Bin 32768 -> 32768 bytes .../v15/Server/sqlite3/storage.ide-wal | Bin 4136512 -> 4136512 bytes ExcelTool/CsvHelper.cs | 203 ------------------ ExcelTool/Parser/GenModels.cs | 18 +- ExcelTool/bin/Debug/ExcelTool.exe | Bin 28672 -> 25600 bytes ExcelTool/bin/Debug/ExcelTool.pdb | Bin 73216 -> 69120 bytes ExcelTool/bin/Debug/avatarguideTest.cs | 2 +- ExcelTool/bin/Debug/official_room.cs | 2 +- ExcelTool/obj/Debug/ExcelTool.exe | Bin 28672 -> 25600 bytes ExcelTool/obj/Debug/ExcelTool.pdb | Bin 73216 -> 69120 bytes README.md | 17 +- 12 files changed, 12 insertions(+), 230 deletions(-) diff --git a/.vs/ExcelTool/v15/.suo b/.vs/ExcelTool/v15/.suo index 805402452f8f2c2c43334b72dc14481c403555e0..0434b01d8def4f3bab6b7df6294d2fa2d92161ed 100644 GIT binary patch delta 6883 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 diff --git a/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-shm b/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-shm index 937ac0993010afc97442405c0e7b2b62a0d47773..d40854b32d0a2637d857d46d2f385e852857bc3e 100644 GIT binary patch delta 1477 zcmd6ncX*UV5XSHQZSF{@2^o!Q-)*(tjl7e`zip3sac4nM+dlEV>P(KsBn zY{3%|Ub$IpT2|ub9i1ZL*H&+mmf5sL|90;Gs_*yhhu<$YWj#dpsw1ys5!qt0%_6O~ zim?(D_85iw8mOMrigUTG;soZjLvuK7N_JRnoR#FYl1yc*xij#8D@8b4J%}yFjxsD; zQcbG`#q2SJQdR?3pqBv4P4FWY=%3lyy8W9){?6F@AZxow_JY4dQC5hvs@0t0M9FGO zNh`oMYKc22>YoY^PxV(R)HlGDUd_569qEZzKMm3djnO2fXs#A(rPgVycIlvw>8vj6 zmhQ_*F7gvfDZ+V@XL*sAd6fpd!$&md3);|*j>OT8J`7+eNhC9!bPjNoGh88)0F%=M zn?k09DQkEC5qwizwee-vtsms+rT!YMks7PXnxT1GqBO17Htp6S9oIQs(QRePMQ#dE zgfPleg{st`7BRfRyELW+t@w`i{K6k}r!NB;#%Lyz!Y&SSjI&(j9!`_XgqXsnq$&5W zNK#8%-P?LSUDaJZ)kgy~Oi4=CG|kpRtKcm4iGKr2^0K3UBf; zU-B)T=*@5@uz;=XCe+yGb*z;34Lz2IDp3(U!@HEwlq&Bb7koRfAXSAj*9r%sT^rSz78Oc~CGn2!d;5^sKB8SOi3YelM%#?q; z*8cWeDXs`BCDt3=Mcvdxz2(&qjna5ckx%orOslj}+qGARbyDYbO?M=6kQX<_C{0D4 zq8cv|O+Bp69m=qckBl)cliTDsMNBCZ?r%qHe4RShFrK~|sNou| ziJGoCTBKC1)fT1efR5^nF6pN3DS(`WP?(aGqcRb^KooU(okn~}Gd|}Ve&lC7bfp&- kLr7#iQ<=p+GC0LWZh{Fi`Ak7m+>|l?KlBmo7nG*I0OSjZ6#xJL delta 255 zcmZo@U}|V!s+V}A%K!rMK+MR%AkYjX9DukZJ@3&Ky?OH%oWIg!*nQG$-ox}9&FPF4 zq^buS4kQ|ZX8uP4P;ownFrWkotN>!0$%TyWlV>n0AYqBkK8zl$n~ix-n{IaCozFJ; zpOejIL*7G7oBz0aaROORN|QSZCxL|~-zkZjY{*+Rc|&OcklrwPL)j!C?KHWiTy3)v Q?+vESO;uLRK&38B0NzwpDF6Tf diff --git a/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-wal b/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-wal index 127b1e654b6037487f15549000f4103c8450b7db..ad2ce383080a3893894d5af63ee38faee42fa549 100644 GIT binary patch delta 95690 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∈A}<9(snIy^ky1m%1R^F7G4aO| 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 diff --git a/ExcelTool/CsvHelper.cs b/ExcelTool/CsvHelper.cs index 6c2fb72..d8d9e9c 100644 --- a/ExcelTool/CsvHelper.cs +++ b/ExcelTool/CsvHelper.cs @@ -231,208 +231,5 @@ namespace ExcelTool return null; } } - - /// - /// 生成对应的C#Model类 - /// - /// - /// - public static bool GenCSharpModel(string fileName) - { - try - { - FileInfo fileInfo = new FileInfo(fileName); - var csvName = fileInfo.Name.Remove(fileInfo.Name.IndexOf(".csv")); - var dt = CSVHeader(fileName); - var headers = dt.Headers(); - //前面是字段,后面是类型 vector是3个float [1.1,2.2,3.3] - //foreach (var header in headers) - //{ - // ConsoleHelper.WriteInfoLine($"{header.Item1}|{header.Item2}"); - //} - StringBuilder sb = new StringBuilder(); - sb.Append($"/*\n * auto generated by tools(注意:千万不要手动修改本文件)\n * {csvName}\n */\n"); - sb.Append("using System;\nusing System.IO;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Linq;\n\n"); - sb.Append("[Serializable]\n"); - sb.Append($"public class {csvName} : IBinarySerializable\n"); - sb.Append("{\n"); - foreach (var header in headers) - { - var type = header.Item2.ToLower(); - if (type.Equals("vector")) - { - sb.Append(string.Format("\tpublic List {0}", header.Item1)); - } - else if (type.Equals("list")) - { - sb.Append(string.Format("\tpublic List> {0}", header.Item1)); - } - else - { - sb.Append(string.Format("\tpublic {0} {1}", header.Item2.ToLower(), header.Item1)); - } - sb.Append(" { get; set; }\n"); - } - sb.Append("\n\tpublic void DeSerialize(BinaryReader reader)\n"); - sb.Append("\t{\n"); - foreach (var header in headers) - { - var type = header.Item2.ToLower(); - var name = header.Item1.ToString(); - if (type.Equals("int")) - { - sb.Append($"\t\t{name} = reader.ReadInt32();\n"); - } - else if (type.Equals("bool")) - { - sb.Append($"\t\t{name} = reader.ReadBoolean();\n"); - } - else if (type.Equals("float")) - { - sb.Append($"\t\t{name} = reader.ReadSingle();\n"); - } - else if (type.Equals("string")) - { - sb.Append($"\t\t{name} = reader.ReadString();\n"); - } - else if (type.Equals("vector")) - { - sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n"); - sb.Append($"\t\tif ({name}Count > 0)\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\t{name} = new List();\n"); - sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n"); - sb.Append("\t\t\t{\n"); - sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n"); - sb.Append("\t\t\t}\n"); - sb.Append("\t\t}\n"); - sb.Append("\t\telse\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\t{name} = null;\n"); - sb.Append("\t\t}\n"); - } - else if (type.Equals("list")) - { - sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n"); - sb.Append($"\t\tif ({name}Count > 0)\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\t{name} = new List>();\n"); - sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n"); - sb.Append("\t\t\t{\n"); - sb.Append($"\t\t\t\tvar tempList = new List();\n"); - sb.Append($"\t\t\t\tvar tempListCount = reader.ReadInt32();\n"); - sb.Append($"\t\t\t\tfor (int j = 0; j < tempListCount; j++)\n"); - sb.Append("\t\t\t\t{\n"); - sb.Append($"\t\t\t\t\ttempList.Add(reader.ReadSingle());\n"); - sb.Append("\t\t\t\t}\n"); - sb.Append($"\t\t\t\t{name}.Add(tempList);\n"); - sb.Append("\t\t\t}\n"); - sb.Append("\t\t}\n"); - sb.Append("\t\telse\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\t{name} = null;\n"); - sb.Append("\t\t}\n"); - } - else - { - ConsoleHelper.WriteErrorLine($"类型:{type}没有解析 {fileName}处理异常"); - return false; - } - } - sb.Append("\t}\n\n"); - sb.Append("\tpublic void Serialize(BinaryWriter writer)\n"); - sb.Append("\t{\n"); - foreach (var header in headers) - { - var type = header.Item2.ToLower(); - var name = header.Item1.ToString(); - if (type.Equals("int") || type.Equals("bool") || type.Equals("float") || type.Equals("string")) - { - sb.Append($"\t\twriter.Write({name});\n"); - } - else if (type.Equals("vector")) - { - sb.Append($"\t\tif ({name} == null || {name}.Count == 0)\n"); - sb.Append("\t\t{\n"); - sb.Append("\t\t\twriter.Write(0);\n"); - sb.Append("\t\t}\n"); - sb.Append("\t\telse\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\twriter.Write({name}.Count);\n"); - sb.Append($"\t\t\tfor (int i = 0; i < {name}.Count; i++)\n"); - sb.Append("\t\t\t{\n"); - sb.Append($"\t\t\t\twriter.Write({name}[i]);\n"); - sb.Append("\t\t\t}\n"); - sb.Append("\t\t}\n"); - } - else if (type.Equals("list")) - { - sb.Append($"\t\tif ({name} == null || {name}.Count == 0)\n"); - sb.Append("\t\t{\n"); - sb.Append("\t\t\twriter.Write(0);\n"); - sb.Append("\t\t}\n"); - sb.Append("\t\telse\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\twriter.Write({name}.Count);\n"); - sb.Append($"\t\t\tfor (int i = 0; i < {name}.Count; i++)\n"); - sb.Append("\t\t\t{\n"); - sb.Append($"\t\t\t\twriter.Write({name}[i].Count);\n"); - sb.Append($"\t\t\t\tfor (int j = 0; j < {name}[i].Count; j++)\n"); - sb.Append("\t\t\t\t{\n"); - sb.Append($"\t\t\t\t\twriter.Write({name}[i][j]);\n"); - sb.Append("\t\t\t\t}\n"); - sb.Append("\t\t\t}\n"); - sb.Append("\t\t}\n"); - } - else - { - ConsoleHelper.WriteErrorLine($"类型:{type}没有解析 {fileName}处理异常"); - return false; - } - } - sb.Append("\t}\n"); - sb.Append("}\n"); - - sb.Append("\n"); - sb.Append("[Serializable]\n"); - sb.Append($"public partial class {csvName}Config : IBinarySerializable\n"); - sb.Append("{\n"); - sb.Append($"\tpublic List<{csvName}> {csvName}Infos = new List<{csvName}>();\n"); - sb.Append($"\tpublic void DeSerialize(BinaryReader reader)\n"); - sb.Append("\t{\n"); - sb.Append($"\t\tint count = reader.ReadInt32();\n"); - sb.Append($"\t\tfor (int i = 0;i < count; i++)\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\t{csvName} tempData = new {csvName}();\n"); - sb.Append($"\t\t\ttempData.DeSerialize(reader);\n"); - sb.Append($"\t\t\t{csvName}Infos.Add(tempData);\n"); - sb.Append("\t\t}\n"); - sb.Append("\t}\n"); - sb.Append("\n"); - sb.Append("\tpublic void Serialize(BinaryWriter writer)\n"); - sb.Append("\t{\n"); - sb.Append($"\t\twriter.Write({csvName}Infos.Count);\n"); - sb.Append($"\t\tfor (int i = 0; i < {csvName}Infos.Count; i++)\n"); - sb.Append("\t\t{\n"); - sb.Append($"\t\t\t{csvName}Infos[i].Serialize(writer);\n"); - sb.Append("\t\t}\n"); - sb.Append("\t}\n\n"); - sb.Append($"\tpublic IEnumerable<{csvName}> QueryById(int id)\n"); - sb.Append("\t{\n"); - sb.Append($"\t\tvar datas = from d in {csvName}Infos\n"); - sb.Append($"\t\t\t\t\twhere d.Id == id\n"); - sb.Append($"\t\t\t\t\tselect d;\n"); - sb.Append("\t\treturn datas;\n"); - sb.Append("\t}\n"); - sb.Append("}\n"); - FileManager.WriteToFile(Path.Combine(fileInfo.DirectoryName, $"{csvName}.cs"), sb.ToString()); - return true; - } - catch (Exception ex) - { - ConsoleHelper.WriteErrorLine(ex.ToString()); - return false; - } - } } } diff --git a/ExcelTool/Parser/GenModels.cs b/ExcelTool/Parser/GenModels.cs index 693585e..1de69a7 100644 --- a/ExcelTool/Parser/GenModels.cs +++ b/ExcelTool/Parser/GenModels.cs @@ -30,27 +30,11 @@ namespace ExcelTool } var headers = ExcelHelper.ExcelHeaders(fileName); var excelName = fileInfo.Name.Remove(fileInfo.Name.IndexOf(".xlsx")); - //var dt = ExcelHeader(fileName); - //var headers = dt.Headers(); - //List notesStr = new List(); - //if (dt.Rows != null && dt.Rows.Count > 0) - //{ - // var notes = dt.Rows[0]; - // for (int i = 0; i < dt.Columns.Count; i++) - // { - // notesStr.Add(notes[i].ToString()); - // } - //} - //前面是字段,后面是类型 vector是3个float [1.1,2.2,3.3] - //foreach (var header in headers) - //{ - // ConsoleHelper.WriteInfoLine($"{header.Item1}|{header.Item2}"); - //} StringBuilder sb = new StringBuilder(); sb.Append($"/*\n * auto generated by tools(注意:千万不要手动修改本文件)\n * {excelName}\n */\n"); sb.Append("using System;\nusing System.IO;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Linq;\n\n"); sb.Append("[Serializable]\n"); - sb.Append($"public class {excelName} : IBinarySerializable\n"); + sb.Append($"public partial class {excelName} : IBinarySerializable\n"); sb.Append("{\n"); for (int i = 0; i < headers.Count; i++) { diff --git a/ExcelTool/bin/Debug/ExcelTool.exe b/ExcelTool/bin/Debug/ExcelTool.exe index c8246a151974bd904b2eae3633ab5cc1beff54f2..bf703cd3ded2c0989e31218c4b6908523ec339e3 100644 GIT binary patch delta 8354 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 delta 11454 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 KJ`ws_UH=DEr;nom diff --git a/ExcelTool/bin/Debug/ExcelTool.pdb b/ExcelTool/bin/Debug/ExcelTool.pdb index 95a2ecd6dc663c19da0f85ccfe8c6399cc3fee7d..e851fdd1b233ad5b159bea5c5d07e2608d52939b 100644 GIT binary patch delta 7062 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 WRi7G)7QSxys<*sekM>n<+W!FjN!MHe diff --git a/ExcelTool/bin/Debug/avatarguideTest.cs b/ExcelTool/bin/Debug/avatarguideTest.cs index 2343e14..924eaf0 100644 --- a/ExcelTool/bin/Debug/avatarguideTest.cs +++ b/ExcelTool/bin/Debug/avatarguideTest.cs @@ -9,7 +9,7 @@ using System.Text; using System.Linq; [Serializable] -public class avatarguideTest : IBinarySerializable +public partial class avatarguideTest : IBinarySerializable { /// /// diff --git a/ExcelTool/bin/Debug/official_room.cs b/ExcelTool/bin/Debug/official_room.cs index e1c9d47..8cc719f 100644 --- a/ExcelTool/bin/Debug/official_room.cs +++ b/ExcelTool/bin/Debug/official_room.cs @@ -9,7 +9,7 @@ using System.Text; using System.Linq; [Serializable] -public class official_room : IBinarySerializable +public partial class official_room : IBinarySerializable { /// /// diff --git a/ExcelTool/obj/Debug/ExcelTool.exe b/ExcelTool/obj/Debug/ExcelTool.exe index c8246a151974bd904b2eae3633ab5cc1beff54f2..bf703cd3ded2c0989e31218c4b6908523ec339e3 100644 GIT binary patch delta 8354 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 delta 11454 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 KJ`ws_UH=DEr;nom diff --git a/ExcelTool/obj/Debug/ExcelTool.pdb b/ExcelTool/obj/Debug/ExcelTool.pdb index 95a2ecd6dc663c19da0f85ccfe8c6399cc3fee7d..e851fdd1b233ad5b159bea5c5d07e2608d52939b 100644 GIT binary patch delta 7062 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 WRi7G)7QSxys<*sekM>n<+W!FjN!MHe diff --git a/README.md b/README.md index d51a7ee..bc5fa8e 100644 --- a/README.md +++ b/README.md @@ -177,16 +177,16 @@ public partial class avatarguideTestConfig : IBinarySerializable select d; return datas; } - + public override string ToString() - { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < avatarguideTestInfos.Count; i++) { - sb.Append($"{avatarguideTestInfos[i].ToString()}\n"); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < avatarguideTestInfos.Count; i++) + { + sb.Append($"{avatarguideTestInfos[i].ToString()}\n"); + } + return sb.ToString(); } - return sb.ToString(); - } } ``` @@ -282,11 +282,12 @@ pause #### 待扩展的功能 目前还不是最理想的状态,还有很多可以扩展完善的功能,如下: -* 支持生成各种类型的文件,例如json、xml、proto等 +* 支持生成各种类型的文件,例如json、xml、proto、lua等 * 支持生成各种语法的模板代码 * 支持Excel数据配置规范性检测,例如手误配置不符合规范导致加载异常,例如大小写逗号(肉眼容易忽略),或者空格等等 * 支持Excel字段客户端服务器可选项 * 支持更多自定义数据类型扩展 +* 支持枚举类型 #### 代码 https://github.com/dingxiaowei/ExcelTool 喜欢麻烦点个star吧