这里只写方法,基本思路就是先将DataGridView选中单元格数据复制到剪切版中,然后再创建Excel对象等,再将剪切版中的内容复制到Excel中。注意在创建Excel对象时,一定要将Microsoft.Office.Interop.Excel引用到项目中。不多说了,直接上代码。
/// <summary> /// DataGridView控件选中数据保存到Excel /// </summary> /// <param name="ExportDgv"></param> /// <param name="DgvTitle"></param> /// <returns></returns> public bool CopyToExcel(DataGridView ExportDgv, string DgvTitle) { try { if (ExportDgv == null) { return false; } if (ExportDgv.Columns.Count == 0 || ExportDgv.Rows.Count == 0) { return false; } //Excel2003最大行是65535 ,最大列是255 //Excel2007最大行是1048576,最大列是16384 //if (ExportDgv.RowCount > 65536 || ExportDgv.ColumnCount > 256) //{ // return false; //} ExportDgv.Focus(); //复制数据到Clipboard int I = ExportDgv.GetCellCount(DataGridViewElementStates.Selected); if (I > 0) { Clipboard.SetDataObject(ExportDgv.GetClipboardContent()); } //创建Excel对象 Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); if (xlApp == null) { return false; } //创建Excel工作薄 Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true); //创建Excel工作表 Microsoft.Office.Interop.Excel.Worksheet xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlBook.Worksheets[1];//第1个工作表 //粘贴数据 xlSheet.get_Range("A1", System.Type.Missing).PasteSpecial(XlPasteType.xlPasteAll, XlPasteSpecialOperation.xlPasteSpecialOperationNone, System.Type.Missing, System.Type.Missing); //显示工作薄区间 xlApp.Visible = true; xlApp.Caption = DgvTitle; //设置文本表格的属性 xlApp.Cells.EntireColumn.AutoFit();//自动列宽 xlApp.Cells.VerticalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; xlApp.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlLeft; xlApp.ErrorCheckingOptions.BackgroundChecking = false; return true; } catch { return false; } }
发表评论
-
C# 实现将文件夹分卷压缩
2015-04-17 17:01 1258http://bbs.csdn.net/topics/3907 ... -
C#发送邮件
2015-04-17 15:58 705public class SendEmailHelper ... -
C# xml文件读取
2015-02-11 16:08 669看附件................ -
什么时候该用委托,为什么要用委托,委托有什么好处....
2015-01-29 16:56 827http://www.cnblogs.com/superpce ... -
C#中动态加载和卸载DLL
2015-01-26 14:02 1429在C++中加载和卸载DLL是一件很容易的事,LoadLibra ... -
转:c#常用的18种设计模式
2015-01-21 08:16 791http://blog.jobbole.com/78130/ -
C#委托的介绍(delegate、Action、Func、predicate)
2015-01-09 17:26 1155http://www.cnblogs.com/akwwl/p/ ... -
接口和抽象类有什么区别 .
2014-12-22 16:35 622接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么 ... -
C#一个简单写日志文件的类
2014-12-11 09:57 1118/// <summary> /// L ... -
Linq初级班 Linq to DataSet体验(单表、多表联合查询JOIN语法)
2014-12-10 14:34 373http://www.cnblogs.com/huangcon ... -
C#泛型详解
2014-11-29 11:31 489我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处 ... -
线程同步与异步的区别
2014-11-26 09:12 889异步处理就是按照不同步的程序处理问题。异步处理与同步处理是对立 ... -
应用C#和SQLCLR编写SQL Server用户定义函数 .
2013-10-09 17:07 499http://blog.csdn.net/zhzuo/arti ... -
log4Net简介
2013-06-30 11:32 584使用log4Net可以将系统听日志保存到DB、日志文件、邮箱中 ... -
DataGridView历史记录的前进与后退操作
2013-06-23 11:13 1114此功能介绍:DataGridView频繁查询数据时,可以将每次 ... -
c# 对INI配置文件的读取操作
2013-06-17 10:51 680此种方法只对如下格式的INI文件起作用 server=loca ... -
对DataGridView控件的扩展开发
2013-06-15 21:47 2390首先在项目中引用 ... -
对集合控件(ListBox,ComboBox,TreeView,RichTextBox,DataGridView)的查找、替换操作控件
2013-06-15 09:39 1558一、程序入口: using System; using ... -
C#对文件、文件夹操作公用组件
2013-06-11 09:46 975namespace HR.Class.IO { / ... -
TreeView控件操作开发篇之(五)
2013-06-09 00:09 832#region 加载文件夹及文件到树 ...
相关推荐
在实际应用中,根据数据源的不同,可能需要在复制数据时考虑数据的格式化和转换问题,确保数据在粘贴后仍能保持正确的格式。 以上就是如何在C#中实现`DataGridView`控件像Excel一样复制单元格区域数据的详细步骤。...
### 利用剪切板将DataGridView中的数据复制并粘贴到Excel文件中 #### 概述 本篇文章主要介绍如何通过.NET Framework中的C#语言,实现DataGridView中的数据复制到剪切板,然后将这些数据粘贴到Microsoft Excel文件中...
在`DataGridView`中实现复制功能,主要涉及选区的设定以及数据的复制到剪贴板。你可以通过以下步骤实现: - **选区设定**:用户可以通过鼠标选择一个或多个单元格,或者通过键盘操作(如Ctrl+A)选择整个表格。 - *...
摘要:C#源码,控件类库,DataGridView C#像Excel一样复制DataGridView中的单元格区域的数据,如上图所示,选中任意单元格中的数据,点击右下角的“复制”按钮,即可将选中单元格中的数据复制到右侧的表格区域中,类似...
首先,我们需要获取当前选中的单元格范围,然后将这些单元格的数据合并成一个字符串或数组,存储到剪贴板中。 2. **选取单元格区域** `DataGridView`允许用户通过点击并拖动鼠标来选择一个矩形区域的单元格。在`...
此压缩包文件“C# DataGridView复制粘贴-亲测可用源码.rar”提供了一套实现DataGridView控件中复制和粘贴功能的源代码,这对于开发者来说是非常实用的,特别是那些需要在应用程序中集成类似Excel操作功能的场景。...
3. **复制数据**:当用户按下Ctrl+C时,我们需要将选定区域的数据存储到剪贴板。可以使用`DataObject`类的`SetData`方法将数据放入剪贴板,同时指定数据格式为文本,以便其他程序可以读取。 4. **粘贴数据**:当...
本文将详细讲解如何在`DataGridView`中实现与Excel的双向复制粘贴功能,使得用户能轻松地在两者之间进行数据迁移。 首先,我们需要了解`DataGridView`的基本操作。`DataGridView`是Windows Forms应用程序中的一个...
摘要:C#源码,数据库应用,合并单元格,DataGridView Vs2008编程实例:在C#的DataGridView控件中实现合并单元格,因为数据库文件遗失了,所以演示效果什么也没看到,不过源代码还在,可根据源码还原出数据库,最主要的...
在代码中,可以监听`dataGridView`的`MouseUp`事件,根据选择的范围调用`DataObject.SetData`方法复制数据到剪贴板。 ```csharp private void dataGridView1_MouseUp(object sender, MouseEventArgs e) { if (e....
6. **插入数据**:使用`DataGridView.Rows.Add`方法追加新的行,然后将解析出的数据设置到对应的单元格中。如果覆盖数据,直接使用`DataGridView.Rows[rowIndex].Cells[columnIndex].Value = data`进行赋值。 7. **...
本篇文章将详细介绍如何利用 C# 读取 Excel 文件并将数据填充到 Windows Forms 应用程序中的 DataGridView 控件。 #### 一、环境配置与依赖库 为了能够实现 Excel 文件的操作,我们需要引用 Microsoft.Office....
本项目聚焦于`DataGridView`与Access数据库的结合,实现数据的实时同步更新,同时具备删除记录以及导出数据到Excel的功能。以下是对这些关键知识点的详细说明: 1. **DataGridView**: - `DataGridView`控件是...
// 绑定数据到DataGridView dataGridView1.DataSource = dataTable; // 处理单元格点击事件 dataGridView1.CellClick += (sender, e) => { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { // 访问点击的单元格 ...
- 选中的 Excel 文件的数据将自动加载到 DataGridView 控件中。 #### 注意事项 - 确保 Excel 应用程序已安装在目标计算机上。 - 考虑到性能和资源管理问题,对于大型 Excel 文件,可以考虑分批读取数据或者使用...
创建备忘录类后,我们需要在`DataGridView`进行数据更改时创建新的备忘录实例并添加到备忘录栈中。这通常会在`DataGridView.CellValueChanged`或`DataGridView.RowsAdded/Removed`等事件中完成。 接下来,为了提供...
- **功能概述**:支持将DataGridView中的数据导出到Excel文件,或将Excel文件中的数据读入DataGridView。 - **实现方式**:导出时,遍历DataGridView的数据并写入Excel文件;读取时,读取Excel文件中的数据并绑定到...
- 首先,你需要创建一个二维数组,用来存储`DataGridView`中的所有选中单元格的数据。可以遍历`DataGridView.SelectedCells`集合,获取选中的每个单元格的值。 - 如果你想复制所有数据,而非仅选中部分,可以遍历`...
2. **遍历选中的单元格**:`dataGridView1.SelectedCells`属性返回一个包含所有选中单元格的列表。通过循环遍历这个列表,我们可以检查每个单元格是否含有有效的数据。 3. **转换并累加**:使用`Double.Parse()`...
- 可以将`DataGridView`的数据导出为CSV、Excel或其他格式,方便数据交换和分析。 13. **扩展功能** - 通过继承`DataGridView`类或使用`DataGridView`的插件系统,可以自定义控件的行为和外观。 综上所述,`C# ...