C#DataGrid CSV导入将任何大小的数组移动到定义的列网格中?

时间:2010-05-13 22:24:50

标签: c# function datagrid

我有一个函数,数组中有大量CSV导入的拆分数据。我目前将它设置为下面的代码,但是我遇到了一些问题,使数据进入单独的列而不是单个列。我想要实现的是一种非冗余的方法,为函数提供任意大小的字符串数组,并定义在将数据作为一行添加到DataGrid之前必须读取的数据列数。

    private string csvtogrid(string input, columns)
    {
        input = input.Replace("\r", ",").Substring(2).TrimEnd(',').Trim().Replace("\n", ",").Replace(",,,", ",").Replace(",,",",");
        string[] repack = input.Split(',');
        string[] cell = new string[columns];
        int rcell = 0;
        for (int counter = 1; counter < repack.Length; counter++)
        {
            if (rcell < columns)
            {
                cell[rcell] = repack[counter];
                rcell++;
            }
            //MessageBox.Show(cell[0] + cell[1] + cell[2]);
            procgrid.Rows.Add(cell[0], cell[1], cell[2]);
            rcell = 0;
        }
        return null;
    }

1 个答案:

答案 0 :(得分:0)

我发现在csv文件中读取的最可靠和最简单的方法是TextFieldParser类。它位于Microsoft.VisualBasic.FileIO名称空间中,因此如果您使用c#,它可能不会被defaukt引用,但它应该在gac中供您引用。