示例#1
0
        private static void ParseColumnMajorTable(TableInfo tableInfo, DataTable sheet)
        {
            int descIndex = tableInfo.startRow + 1;
            int typeIndex = tableInfo.startRow + 2;
            int nameIndex = tableInfo.startRow + 3;

            tableInfo.numRows   = tableInfo.endRow - tableInfo.startRow - 4;
            tableInfo.numFields = 0;
            if (tableInfo.numRows < 0)
            {
                tableInfo.numRows = 0;
                return;
            }

            for (int columnIndex = 0; columnIndex < sheet.Columns.Count; ++columnIndex)
            {
                var type = sheet.Rows[typeIndex][columnIndex].ToString();

                string name;
                string tag;
                NameFormater.GetNameAndTag(out name, out tag, sheet.Rows[nameIndex][columnIndex].ToString());

                name = NameFormater.FormatCamelName(name, true);
                if (name == "" || type == "")
                {
                    break;
                }

                FieldInfo field = new FieldInfo();
                field.comment = sheet.Rows[descIndex][columnIndex].ToString();
                field.name    = name;
                field.type    = type;
                field.tag     = tag;

                for (int i = tableInfo.startRow + 4; i < tableInfo.endRow; ++i)
                {
                    field.datas.Add(ConvertData(field.type, sheet.Rows[i][columnIndex].ToString()));
                }

                tableInfo.fieldInfos.Add(field);
            }

            tableInfo.numFields = tableInfo.fieldInfos.Count;
        }
示例#2
0
        private static void ParseRowMajorTable(TableInfo tableInfo, DataTable sheet)
        {
            for (int i = tableInfo.startRow + 1; i < tableInfo.endRow; ++i)
            {
                FieldInfo field = new FieldInfo();
                field.comment = sheet.Rows[i][0].ToString();
                field.type    = sheet.Rows[i][1].ToString();

                string name;
                string tag;
                NameFormater.GetNameAndTag(out name, out tag, sheet.Rows[i][2].ToString());
                field.name = NameFormater.FormatCamelName(name, true);
                field.tag  = tag;

                field.datas.Add(ConvertData(field.type, sheet.Rows[i][3].ToString()));

                tableInfo.fieldInfos.Add(field);
            }

            tableInfo.numRows   = 1;
            tableInfo.numFields = tableInfo.fieldInfos.Count;
        }