簡體   English   中英

在Datagridview控件中復制和粘貼數據

[英]copy and paste data in Datagridview control

有什么辦法可以使datagridview控件,以便用戶可以使用Ctrl+CCtrl+V從Excel復制和粘貼多個單元格?

如果通過調用Clipboard.GetText()獲得簡單的 Excel內容,它將返回一個字符串。

在其中,行將由Linefeeds (\\ r \\ n)分隔,字段由Tabs (\\ t)分隔。

查看下面的代碼,這將為您提供一些可使用的功能..:

    // Before you press the button copy some excel cells!
    private void button1_Click(object sender, EventArgs e)
    {
        dataGridView1.Rows.Clear();
        dataGridView1.Columns.Clear();

        dataGridView1.Columns.Add("one", "one");
        dataGridView1.Columns.Add("two", "two");
        dataGridView1.Columns.Add("three", "three");
        dataGridView1.Columns.Add("four", "four");
        dataGridView1.Columns.Add("five", "five");
        dataGridView1.Rows.Add(5);

        dataGridView1.Focus();
        dataGridView1.CurrentCell = dataGridView1[1, 1];
        string s = Clipboard.GetText();
        string[] lines = s.Replace("\n", "").Split('\r');
        string[] fields;
        int row = 0;
        int column = 0;
        foreach (string l in lines)
        { 
            fields = l.Split('\t');
            foreach (string f in fields)
                dataGridView1[column++, row].Value = f;
            row++;
            column = 0;
        }

    }

使用Control-V粘貼比較棘手,請從按鈕開始!

這將涉及捕獲Control-V並對其進行處理; 但是,這可能有點難以調試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM