static void ExportClass(string protoName, List <HeadInfo> classField, ConfigType configType) { string dir = GetClassDir(configType); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } string exportPath = Path.Combine(dir, $"{protoName}.cs"); using FileStream txt = new FileStream(exportPath, FileMode.Create); using StreamWriter sw = new StreamWriter(txt); StringBuilder sb = new StringBuilder(); for (int i = 0; i < classField.Count; i++) { HeadInfo headInfo = classField[i]; if (headInfo.FieldAttribute.StartsWith("#")) { continue; } sb.Append($"\t\t[ProtoMember({i + 1}, IsRequired = true)]\n"); sb.Append($"\t\tpublic {headInfo.FieldType} {headInfo.FieldName} {{ get; set; }}\n"); } string content = template.Replace("(ConfigName)", protoName).Replace(("(Fields)"), sb.ToString()); sw.Write(content); }
static void ExportSheetJson(ExcelWorksheet worksheet, ConfigType configType, StringBuilder sb) { int infoRow = 2; HeadInfo[] headInfos = new HeadInfo[100]; for (int col = 3; col <= worksheet.Dimension.End.Column; ++col) { string fieldCS = worksheet.Cells[infoRow, col].Text.Trim(); if (fieldCS.Contains("#")) { continue; } string fieldName = worksheet.Cells[infoRow + 2, col].Text.Trim(); if (fieldName == "") { continue; } string fieldDesc = worksheet.Cells[infoRow + 1, col].Text.Trim(); string fieldType = worksheet.Cells[infoRow + 3, col].Text.Trim(); headInfos[col] = new HeadInfo(fieldCS, fieldDesc, fieldName, fieldType); } for (int row = 6; row <= worksheet.Dimension.End.Row; ++row) { if (worksheet.Cells[row, 3].Text.Trim() == "") { continue; } sb.Append("{"); for (int col = 3; col <= worksheet.Dimension.End.Column; ++col) { HeadInfo headInfo = headInfos[col]; if (headInfo.FieldAttribute == null) { continue; } if (headInfo.FieldAttribute.Contains("#")) { continue; } if (headInfo.FieldName == "Id") { headInfo.FieldName = "_id"; } else { sb.Append(","); } sb.Append($"\"{headInfo.FieldName}\":{Convert(headInfo.FieldType, worksheet.Cells[row, col].Text.Trim())}"); } sb.Append("},\n"); } }
static void ExportSheetJson(ExcelWorksheet worksheet, string name, Dictionary <string, HeadInfo> classField, ConfigType configType, StringBuilder sb) { string configTypeStr = configType.ToString(); for (int row = 6; row <= worksheet.Dimension.End.Row; ++row) { string prefix = worksheet.Cells[row, 2].Text.Trim(); if (prefix.Contains("#")) { continue; } if (prefix == "") { prefix = "cs"; } if (!prefix.Contains(configTypeStr)) { continue; } if (worksheet.Cells[row, 3].Text.Trim() == "") { continue; } sb.Append("{"); sb.Append($"\"_t\":\"{name}\""); for (int col = 3; col <= worksheet.Dimension.End.Column; ++col) { string fieldName = worksheet.Cells[4, col].Text.Trim(); if (!classField.ContainsKey(fieldName)) { continue; } HeadInfo headInfo = classField[fieldName]; if (headInfo == null) { continue; } string fieldN = headInfo.FieldName; if (fieldN == "Id") { fieldN = "_id"; } sb.Append($",\"{fieldN}\":{Convert(headInfo.FieldType, worksheet.Cells[row, col].Text.Trim())}"); } sb.Append("},\n"); } }
static void ExportSheetClass(ExcelWorksheet worksheet, Dictionary <string, HeadInfo> classField, ConfigType configType) { string configTypeStr = configType.ToString(); const int row = 2; for (int col = 3; col <= worksheet.Dimension.End.Column; ++col) { if (worksheet.Name.StartsWith("#")) { continue; } string fieldName = worksheet.Cells[row + 2, col].Text.Trim(); if (fieldName == "") { continue; } if (classField.ContainsKey(fieldName)) { continue; } string fieldCS = worksheet.Cells[row, col].Text.Trim().ToLower(); if (fieldCS.Contains("#")) { classField[fieldName] = null; continue; } if (fieldCS == "") { fieldCS = "cs"; } if (!fieldCS.Contains(configTypeStr)) { classField[fieldName] = null; continue; } string fieldDesc = worksheet.Cells[row + 1, col].Text.Trim(); string fieldType = worksheet.Cells[row + 3, col].Text.Trim(); classField[fieldName] = new HeadInfo(fieldCS, fieldDesc, fieldName, fieldType, col); } }