C # DataGrid CSV Импортировать перемещение массива любого размера в определенную сетку столбцов? - PullRequest
0 голосов
/ 14 мая 2010

У меня есть функция, для которой массив имеет большую сумму импортированных разделенных данных 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 голосов
/ 14 мая 2010

Самый надежный и простой метод, который я когда-либо нашел для чтения в CSV-файлах, - это класс TextFieldParser . Он находится в пространстве имен Microsoft.VisualBasic.FileIO, поэтому defaukt не может ссылаться на него, если вы используете c #, но он должен быть в gac, чтобы вы могли на него ссылаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...