public static void GenerateFile(ExcelSheet sheet, Action callback = null) { if (ExcelExportOutSetting.IsCreateNew) { ExcelUtil.ResetDirectory(ExcelExportOutSetting.OutDataDir); ExcelUtil.ResetDirectory(ExcelExportOutSetting.OutClassDir); } else { ExcelUtil.CheckCreateDirectory(ExcelExportOutSetting.OutDataDir); ExcelUtil.CheckCreateDirectory(ExcelExportOutSetting.OutClassDir); } CreateConfigClass(sheet); CreateConfigData(sheet); callback?.Invoke(); }
public static void CreateLangXml(ExcelSheet sheet) { if (ExcelExportOutSetting.IsCreateNew) { ExcelUtil.ResetDirectory(ExcelExportOutSetting.OutLanguageDir); } else { ExcelUtil.CheckCreateDirectory(ExcelExportOutSetting.OutLanguageDir); } for (int i = 1; i < sheet.Fields.Count; i++) { ExcelSheetTableField excelSheetTableField = sheet.Fields[i]; CreatXml(excelSheetTableField.Name, sheet); } }
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(); }