无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1548|回复: 0

C# DataGridView 复制和粘贴EXCEL数据源代码

[复制链接]

212

主题

238

帖子

956

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
956
发表于 2015-9-14 23:20:20 | 显示全部楼层 |阅读模式
C# DataGridView 复制和粘贴EXCEL数据源代码:
excel和datagridview同根同源,有时候我们希望从excel中复制粘贴一些数据到datagridview中
界面设计
简单的一个datagridview  里面有四列
然后一个内嵌 菜单,关联上
keydown事件,以及粘贴和删除事件:具体代码如下:
[C#] 纯文本查看 复制代码
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           
        }

        private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Control && e.KeyValue == 86) 
            {
                ZhanTie();
            }
        }



        private void ZhanTie()
        {   
            //这里是取剪贴板里的内容,如果内容为空,则退出
            string pastTest = Clipboard.GetText();
            if (string.IsNullOrEmpty(pastTest)) return;
            //excel中是以 空格 和换行来 当做字段和行,所以用\n \r来分隔
            string[] lines = pastTest.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string line in lines)
            {
                string[] strs = line.Split(new char[] { '\t' });
                dataGridView1.Rows.Add(strs);
            }
        }

        private void PaestMenuItem_Click(object sender, EventArgs e)
        {
            ZhanTie();
        }

        private void DeleteMenuItem_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow == null ||dataGridView1.CurrentRow.Index==dataGridView1.Rows.Count-1) return;

            dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
        }
    }
代码经过vs2010测试通过,至于datagirdview的复制,你可以直接用ctrl+c复制到txt中。

windows .net(C#+MSSQL) linux(php+mysql)  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软件编程 Inc.  

GMT+8, 2017-7-27 10:28 , Processed in 0.159000 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表