Excel 内容粘贴到DataGridView, DataGridView 粘贴到 Excel

void dataGridView1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Control && e.KeyCode == Keys.C)
            {
                DataObject d = dataGridView1.GetClipboardContent();
                Clipboard.SetDataObject(d);
                e.Handled = true;
            }
            else if (e.Control && e.KeyCode == Keys.V)
            {
                string s = Clipboard.GetText();
                string[] lines = s.Split(‘\n‘);
                int row = dataGridView1.CurrentCell.RowIndex;
                int col = dataGridView1.CurrentCell.ColumnIndex;

                //check if need add row
                if ((dataGridView1.Rows.Count - row) < lines.Length)
                {
                    dataGridView1.Rows.Add(lines.Length - (dataGridView1.Rows.Count - row));
                }

                foreach (string line in lines)
                {
                    if ((line.Length > 0) && row < dataGridView1.RowCount)
                    {
                        string[] cells = line.Split(‘\t‘);
                        for (int i = 0; i < cells.GetLength(0); ++i)
                        {
                            if (col + i < this.dataGridView1.ColumnCount)
                            {
                                dataGridView1[col + i, row].Value = Convert.ChangeType(cells[i], dataGridView1[col + i, row].ValueType);
                            }
                            else
                            {
                                break;
                            }
                        }
                        row++;
                    }
                    else if (row == dataGridView1.RowCount && line.Length > 0)
                    {
                        break;
                    }
                }
            }
        }

将Excel中内容直接复制粘贴到DataGridView中或其他表格控件中(其他控件代码类似),将表格内容复制粘贴到Excel中.
实现CTRL+C 和CTRL+V. 代码如下:

时间: 2024-10-31 14:04:11

Excel 内容粘贴到DataGridView, DataGridView 粘贴到 Excel的相关文章

vb.net datagridview控件导出excel

导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码.这次,我们使用面向对象的思维再次实现这个功能.对比一下,两个方法有什么区别. 这里使用vb.net作为载体,和面向过程一样,第一步还是要添加引用.为了增加复用性,需要把这个功能做成一个模块,因为是导出数据,所以,把它放到U层,需要在U层添加引用.如图: 将图中画红框的选中就可以了. 然后在U层添加模块,模块代码如下: Imports Micros

DataGridView导出数据到Excel及单元格格式的改动

在软件开发过程中,时常会遇到把一些数据信息从DataGridView中导出到Excel表格中的情况.假设写的多了就会发现挺简单的,我们最好还是来写一写,留作备用,毕竟有时候Ctrl+C和Ctrl+V还是比較方便的. 思路非常easy.写一个Module,然后调用: Module代码例如以下: <span style="font-family:Times New Roman;font-size:18px;">'*********************************

DataGridView导出数据到Excel及单元格格式的修改

在软件开发过程中,时常会遇到把一些数据信息从DataGridView中导出到Excel表格中的情况,如果写的多了就会发现挺简单的,我们不妨来写一写,留作备用,毕竟有时候Ctrl+C和Ctrl+V还是比较方便的. 思路很简单,写一个Module,然后调用: Module代码如下: <span style="font-family:Times New Roman;font-size:18px;">'****************************************

DataGridView如何快速导出Excel

从DataGridView或DataTable导出Excel文件,为了按照数据类型设置单元格格式,导出Excel时速度都比较慢,一直找不到好的办法. 最后从外文网站上找到解决办法,使用ws.get_Range(excelRange, Type.Missing).Value2方法批量设置单元格的值.详细代码如下: public void DataToExcelFast(DataGridView dgv, string fName) { try { Excel.Application excel =

两种方法DatagridView轻松导入到Excel

众所周知,DatagridView控件来处理表各类数据真的是"简单.方便.疗效快",因此备受广大民众喜爱.今天我们再来继续探讨一下有关它和Excel的"姊妹情深". 几乎没有人不对Excel不了解,但要说熟悉和认识透彻恐怕我们还远远没有做到(这是题外之言),重点还是Excel的强大数据处理能力带给我们的便利,所以把DatagridView数据表变为老少皆宜的Excel表格就显得尤为重要了. 其实这一转换也很简单,下面就为大家介绍下两种方法,轻松连接"姊妹情

Winform将DataGridView导出Excel,调用打印机打印DataGridView

DataGridView导出Excel (这个需要 Microsoft.Office.Interop.Excel.dll  在网上下载就可以) public static void ExportExcel(string fileName, DataGridView myDGV) { string saveFileName = ""; SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = &qu

C#把DataGridVIew数据导出到Excel函数代码

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Office.Core; using EXCEL = Microsoft.Office.Interop.Excel; //数据库支持 us

c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据

准备工作就是可以分页的DataGridView,和两个按钮,一个用来导出当前页数据到Excel,一个用来导出全部数据到Excel 没有使用SaveFileDialog,但却可以弹出保存对话框来 先做导出当前页数据到Excel的 DataGridView命名为dataGridView1 1 //按下导出按钮 2 private void button7_Click(object sender, EventArgs e) 3 { 4 print(dataGridView1); 5 } 6 publi

Gvim与系统粘贴板复制和粘贴操作

gvim如何复制和粘贴系统粘贴板的内容: 复制Gvim里面的内容至系统粘贴板:"+y 粘贴系统粘贴板里面的内容至Gvim:"+p

读取指定路径的Excel内容到DataTable中

1 /// <summary> 2 /// 读取指定路径的Excel内容到DataTable中 3 /// </summary> 4 /// <param name="path"></param> 5 /// <returns></returns> 6 public DataTable ImportToDataSet(string path) 7 { 8 string strConn = "Provide