diff --git a/README.md b/README.md index eb0bb19..c3c85a6 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ luban相较于常规的excel导表工具有以下核心优势: - 增强了excel格式。可以比较简洁地excel配置**任意复杂**的数据,像子结构、结构列表,以及更复杂的深层次的嵌套结构都能直接解析处理。 -- 完备的类型系统和多原始数据支持(xml、json、lua、yaml),可以轻松表达和解析**任意复杂**的数据。意味着传统excel导表工具无法处理的技能、行为树、副本等等复杂配置,luban也能够统一处理了,彻底将程序从复杂的配置解析中完全解放出来。 +- 完备的类型系统和多原始数据支持(xml、json、lua、yaml),可以轻松表达和解析**任意复杂**的数据。意味着传统excel导表工具无法处理的技能、行为树、副本等等复杂配置,luban也能够统一处理了,彻底将程序从复杂的配置解析中解放出来。 - 完善的工作流支持。如id的外键引用检查;资源合法性检查;灵活的数据源定义(拆表或者多表合一);灵活的分组导出机制;多种本地化支持;生成极快(日常迭代300ms以内);Excel2TextDiff工具方便diff查看excel文件的版本间差异; - **=== LubanAssistant Excel插件 ===**。支持把json、lua、xml等文本格式的配置数据加载到excel中,批量编辑处理,最后再保存回原文件,较好地解决大型项目中多人合作数据编辑冲突合并的问题,较好解决在编辑器中制作的配置难以在excel中批量修改的问题。 diff --git a/src/Luban.Job.Cfg/Source/DataCreators/SheetDataCreator.cs b/src/Luban.Job.Cfg/Source/DataCreators/SheetDataCreator.cs index 48e8e19..7d444c6 100644 --- a/src/Luban.Job.Cfg/Source/DataCreators/SheetDataCreator.cs +++ b/src/Luban.Job.Cfg/Source/DataCreators/SheetDataCreator.cs @@ -284,12 +284,12 @@ namespace Luban.Job.Cfg.DataCreators if (row.Row != null) { - var s = row.AsStream(sep); + var s = row.AsStream(""); return type.Apply(ExcelStreamDataCreator.Ins, s); } else if (row.Rows != null) { - var s = row.AsMultiRowConcatStream(sep); + var s = row.AsMultiRowConcatStream(""); return type.Apply(ExcelStreamDataCreator.Ins, s); } else if (row.Fields != null) diff --git a/src/Luban.Job.Cfg/Source/DataSources/Excel/SheetLoadUtil.cs b/src/Luban.Job.Cfg/Source/DataSources/Excel/SheetLoadUtil.cs index 579ba55..7f648f8 100644 --- a/src/Luban.Job.Cfg/Source/DataSources/Excel/SheetLoadUtil.cs +++ b/src/Luban.Job.Cfg/Source/DataSources/Excel/SheetLoadUtil.cs @@ -420,13 +420,17 @@ namespace Luban.Job.Cfg.DataSources.Excel var fields = new Dictionary(); foreach (var subTitle in title.SubTitleList) { + if (subTitle.Name.StartsWith("__")) + { + continue; + } fields.Add(subTitle.Name, new FieldInfo() { Name = subTitle.Name, Tags = title.Tags, - Type = typeRow != null ? typeRow[subTitle.FromIndex].Value?.ToString() : "", - BriefDesc = briefDescRow != null ? briefDescRow[subTitle.FromIndex].Value?.ToString() : "", - DetailDesc = destailDescRow != null ? destailDescRow[subTitle.FromIndex].Value?.ToString() : "", + Type = typeRow?[subTitle.FromIndex].Value?.ToString() ?? "", + BriefDesc = briefDescRow?[subTitle.FromIndex].Value?.ToString() ?? "", + DetailDesc = destailDescRow?[subTitle.FromIndex].Value?.ToString() ?? "", }); }