Exemple #1
0
    //解析一行数据
    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);
    }
Exemple #2
0
 //解析文件头
 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}");
         }
     }
 }