private static void CreateConfigData(ExcelSheet sheet) { string savePath = $"{ExcelExportOutSetting.OutDataDir}/{sheet.ConfigName}.txt"; string jsondata = JsonConvert.SerializeObject(sheet.Table); ExcelUtil.SaveFile(savePath, jsondata, true, false); }
private static void CreateConfigClass(ExcelSheet sheet) { string firstField = null; string savePath = $"{ExcelExportOutSetting.OutClassDir}/{sheet.ConfigName}.cs"; StringBuilder fieldStrs = new StringBuilder(); fieldStrs.AppendLine("//------------------------------------------------------------"); fieldStrs.AppendLine("// 此文件由工具自动生成,请勿直接修改。"); fieldStrs.AppendLine("// 生成时间:" + DateTime.Now); fieldStrs.AppendLine("//------------------------------------------------------------"); fieldStrs.AppendLine(); fieldStrs.AppendLine("using System;"); fieldStrs.AppendLine("using System.Collections.Generic;"); fieldStrs.AppendLine(); fieldStrs.AppendLine("namespace " + ExcelExportOutSetting.NameSpace); { fieldStrs.AppendLine("{"); fieldStrs.AppendLine($"\t/// <summary>{sheet.NameDes}</summary>"); fieldStrs.AppendLine($"\tpublic class {sheet.ConfigName} : BaseConfig"); { fieldStrs.AppendLine("\t{"); fieldStrs.AppendLine("\t\t/// <summary>唯一ID</summary>"); if (!sheet.IsVert) { fieldStrs.AppendLine("\t\tpublic override object UniqueID => id;"); } else { fieldStrs.AppendLine($"\t\tpublic override object UniqueID => {sheet.Fields[0].Name};"); } foreach (ExcelSheetTableField filed in sheet.Fields) { bool flag = filed.IsInterface; var filedProp = flag ? " { get; set; }" : ";"; bool flag2 = firstField == null; if (flag2) { firstField = filed.Name; } fieldStrs.AppendLine(); fieldStrs.AppendLine("\t\t/// <summary>"); string[] desStrings = filed.Des.Split('\n'); foreach (var variable in desStrings) { fieldStrs.AppendLine($"\t\t/// {variable}"); } fieldStrs.AppendLine("\t\t/// </summary>"); fieldStrs.AppendLine( $"\t\tpublic {ExcelUtil.GetCSStringType(filed.Type, false)} {filed.Name}{filedProp}"); } fieldStrs.AppendLine("\t}"); } fieldStrs.AppendLine("}"); } ExcelUtil.SaveFile(savePath, fieldStrs.ToString(), true, true); }
public static void CreateConfigMgr(List <ExcelSheet> configList, Action callback = null) { ExcelUtil.CheckCreateDirectory(ExcelExportOutSetting.OutConfigMgrDir); string savePath = $"{ExcelExportOutSetting.OutConfigMgrDir}/ConfigMgr.cs"; StringBuilder dicStrs_V = new StringBuilder(); StringBuilder funStrs_H = new StringBuilder(); StringBuilder funStrs_V = new StringBuilder(); foreach (var sheet in configList) { if (sheet.Name.Equals("Language")) { continue; } if (sheet.IsVert) { dicStrs_V.AppendLine($"\t\t/// <summary> {sheet.NameDes} </summary>"); dicStrs_V.AppendLine($"\t\tpublic {sheet.ConfigName} {ExcelUtil.ToFirstLower(sheet.ConfigName)};"); funStrs_V.AppendLine( $"\t\t\t{ExcelUtil.ToFirstLower(sheet.ConfigName)} = await readConfigV<{sheet.ConfigName}>();"); } else { funStrs_H.AppendLine($"\t\t\treadConfig<{sheet.Name}Config>().Run();//{sheet.NameDes}"); } } StringBuilder fieldStrs = new StringBuilder(); fieldStrs.AppendLine("//------------------------------------------------------------"); fieldStrs.AppendLine("// 此文件由工具自动生成,请勿直接修改。"); fieldStrs.AppendLine("// 生成时间:" + DateTime.Now); fieldStrs.AppendLine("//------------------------------------------------------------"); fieldStrs.AppendLine(); fieldStrs.AppendLine("using System.Collections.Generic;"); fieldStrs.AppendLine("using Fuse.Tasks;"); fieldStrs.AppendLine(); fieldStrs.AppendLine("namespace " + ExcelExportOutSetting.NameSpace); fieldStrs.AppendLine("{"); { fieldStrs.AppendLine("\tpublic partial class ConfigMgr"); fieldStrs.AppendLine("\t{"); { fieldStrs.AppendLine(dicStrs_V.ToString()); fieldStrs.AppendLine(); fieldStrs.AppendLine("\t\tprivate void LoadAllConfig()"); fieldStrs.AppendLine("\t\t{"); { fieldStrs.AppendLine(funStrs_H.ToString()); fieldStrs.AppendLine(); fieldStrs.AppendLine("\t\t\t//读取竖表配置"); fieldStrs.AppendLine("\t\t\tLoadAllConfigV().Run();"); fieldStrs.AppendLine(); fieldStrs.AppendLine("\t\t\tCustomRead();"); } fieldStrs.AppendLine("\t\t}"); fieldStrs.AppendLine("\t\t/// <summary>读取竖表配置</summary>"); fieldStrs.AppendLine("\t\tprivate async CTask LoadAllConfigV()"); fieldStrs.AppendLine("\t\t{"); { fieldStrs.AppendLine(funStrs_V.ToString()); } fieldStrs.AppendLine("\t\t}"); } fieldStrs.AppendLine("\t}"); } fieldStrs.AppendLine("}"); ExcelUtil.SaveFile(savePath, fieldStrs.ToString(), true, true); callback?.Invoke(); }