首页 新闻 搜索 专区 学院

导入DataTable

0
[已关闭问题]

string aa ="asd|asd|asd|asd|asdasd|asad|asd|asd|asd|asd|asdasd|asad|asd|asd|asd|asd|asdasd|asad";

有个这样的字符串 怎么才能导入到一个六列的DataTable中呢 字符串的个数始终都是6的倍数

scai的主页 scai | 初学一级 | 园豆:30
提问于:2010-04-22 14:06
< >
分享
其他回答(1)
0

粗略的写了一下,你看是否你要的。可以再优化一下。

private DataTable GetDt()
{
    string str = "asd|asd|asd|asd|asdasd|asad|asd|asd|asd|asd|asdasd|asad|asd|asd|asd|asd|asdasd|asad";
    DataTable dtTemp = new DataTable();
    DataRow drTemp;

    dtTemp.Columns.Add("Col0", typeof(string));
    dtTemp.Columns.Add("Col1", typeof(string));
    dtTemp.Columns.Add("Col2", typeof(string));
    dtTemp.Columns.Add("Col3", typeof(string));
    dtTemp.Columns.Add("Col4", typeof(string));
    dtTemp.Columns.Add("Col5", typeof(string));

    string[] strs = str.Split(new Char[] { '|' });
    for (int j = 1; j <= (strs.Length / 6); j++)
    {
        drTemp = dtTemp.NewRow();
        for (int i = 0; i < 6; i++)
        {
            drTemp["Col" + i] = strs[j * i];
        }
        dtTemp.Rows.Add(drTemp);
    }
    return dtTemp;
}

Astar | 园豆:40805 (高人七级) | 2010-04-22 16:07
0

            string[] tmpStrArr = tmpStr.Split('|');
            DataTable dt = new DataTable();
            int colCount = 6;
            for (int i = 0; i < colCount; i++) {
                dt.Columns.Add(new DataColumn("col"+i.ToString(), typeof(string)));
            }
            for (int i = 0; i < tmpStrArr.Length / colCount; i++)
            {
                string[] tmpArr = new string[colCount];
                Array.Copy(tmpStrArr, i * colCount, tmpArr, 0, colCount);
                dt.Rows.Add(tmpArr);
            }

快速开发平台 | 园豆:177 (初学一级) | 2010-04-22 16:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册