获胜形式的数据表

时间:2010-05-14 15:39:11

标签: c# winforms

我想从excel复制两列并在c#程序中处理它们。什么组件最适合用来模仿win形式的excel列?

2 个答案:

答案 0 :(得分:4)

您可以使用DataGridView control

答案 1 :(得分:3)

您可以使用以下内容编写一个拉入剪贴板数据的例程:

    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];
    }

清理代码并测试代码示例。它仍然很粗糙但是用固定数量的列来演示这种能力。 (超过六次的粘贴会崩溃,任何不足都应该有效。)