Таблица данных в выигрышной форме - PullRequest
2 голосов
/ 14 мая 2010

Я хочу скопировать два столбца из Excel и поработать над ними в программе на c #. Какой компонент лучше всего использовать для имитации столбца Excel в выигрышной форме?

Ответы [ 2 ]

4 голосов
/ 14 мая 2010

Можно использовать элемент управления DataGridView .

3 голосов
/ 14 мая 2010

Вы могли бы написать подпрограмму, которая извлекает данные из буфера обмена, например:

    private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
    {
        // create dataset to hold csv data:
        DataSet ds = new DataSet();
        ds.Tables.Add();
        ds.Tables[0].Columns.Add();
        ds.Tables[0].Columns.Add();
        ds.Tables[0].Columns.Add();
        ds.Tables[0].Columns.Add();
        ds.Tables[0].Columns.Add();
        ds.Tables[0].Columns.Add();

        string[] row = new string[1];

        // read csv data from clipboard
        IDataObject t = Clipboard.GetDataObject();
        System.IO.StreamReader sr =
                new System.IO.StreamReader((System.IO.MemoryStream)t.GetData("csv"));

        // assign csv data to dataset      
        while (!(sr.Peek() == -1))
        {
            row[0] = sr.ReadLine();
            ds.Tables[0].Rows.Add(row);
        }

        // set data source
        dataGridView1.DataSource = ds.Tables[0];
    }

Убран код и протестирован пример кода. Это все еще грубо, но демонстрирует возможность с фиксированным количеством столбцов. (Вклеивание более чем в шесть приведет к сбою, меньшее должно сработать.)

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