//解析一行数据 void ParseRow(IRow row) { var data = new RowData() { RowNumber = row.RowNum + 1, Key = row.GetCellString(1) }; if (data.Key.IsEmptyString()) { return; } for (var i = 0; i < mFields.Count; ++i) { var field = mFields[i]; if (!field.IsValid) { continue; } data.Values.Add(row.GetCellString(i + 1)); //data.Values.Add(new RowValue() { value = value.IsEmptyString() ? field.Default : value }); //if (field.IsValid) { // var value = row.GetCellString(i + 1); // data.Values.Add(new RowValue() { value = value.IsEmptyString() ? field.Default : value }); //} } mDatas.Add(data); }
//解析文件头 void ParseHead(string key, IRow row) { for (var i = 1; i < row.LastCellNum; ++i) { var value = row.GetCellString(i); var field = GetField(i - 1); if (key == KEYWORD_NAME) { field.Name = value; if (value.IsInvalid()) { field.IsValid = false; } } else if (key == KEYWORD_TYPE) { if (value.IsInvalid()) { field.IsValid = false; } if (value.IsArrayType()) { field.IsArray = true; field.Type = value.GetFinalType(); } else { field.IsArray = false; field.Type = value; } } else if (key == KEYWORD_COMMENT) { field.Comment = value; } else if (key == KEYWORD_DEFAULT) { field.Default = value; } else if (key == KEYWORD_ATTRIBUTE) { //Script script = new Script(); //script.LoadLibrary(); //script.LoadString(value); //field.Attribute = script.GetGlobalTable(); } else { throw new Exception($"不能识别的Key : {key}"); } } }