首先,这个问题在网上有很多答案,也有很多解决的方法。其次,很多人写过类似的博客。我的这篇博客,主要是写给那些刚刚接触或接触不久.NET并使用其做程序的人,更是写个自己,记录一下方法,方便以后使用。
在窗体中添加一个DataGridView控件,DatagridView获得数据:DataGridView1.DataSource = crList(泛型)或DataGridView1.DataSource=DataSet.Table(0)。{注意:通过查询数据库,将查询到的数据放入crList或Dataset中,然后赋值给DataGridView)
若想导出数据到Excel表,需要添加引用(项目-添加引用-Microsoft.Office.Interop.Excel).
剩下的就是代码了。下面是我的代码,仅供参考。(把导出Excel表做成了一个类,这样整个程序都可以直接调用这个类,实现导出数据到Excel表)
<span style="font-size:18px;"> '打开Excel的应用程序
Dim ExcelADD As New Excel.Application()
'添加一个工作本
Dim ExcelWordBook As Excel.Workbook = <span style="font-size:18px;">ExcelADD</span>.Workbooks.Add()
'添加一个表
Dim ExcelWorkSheet As Excel.Worksheet = <span style="font-size:18px;">ExcelWordBook</span>.Sheets("sheet1")
'显示Excel
<span style="font-size:18px;">ExcelADD</span>.Visible = True
'用于将DataGridView中的表赋值到Excel中的表中
Dim i As Integer
Dim j As Integer
'将DataGridView中的字段名赋值给Excel表中的第一行
Dim Cols As Integer
For Cols = 1 To x.Columns.Count
xlWorkSheet.Cells(1, Cols) = x.Columns(Cols - 1).HeaderText
Next
'将DataGridView表格中的内容导入到Excel表中
For i = 0 To x.RowCount - 1
'DataGrideView中的表头行不作为行数来计算
For j = 0 To x.ColumnCount - 1
'Excel的第一行是标题,所以应从第二行开始,i+2 注意DataGridView的坐标是先列后行
xlWorkSheet.Cells(i + 2, j + 1) = x(j, i).Value.ToString()
Next
Next
</span>
注意:DataGridView的属性里有一个AllowUsersToAddRows属性,要设置成False,否则For i = 0 To x.RowCount - 1要改写成For i = 0 To x.RowCount - 2,同时,系统也容易出现错误,不过,还是可以尝试一下。
小结:在做这一块的时候,出现了很多问题,尤其是在用嵌套循环时,如果设置不对,常常出现导出时丢失行,数据超出范围,或者不按你想的方式导出,总之 我出现了各种问题,通过查询各种信息,学长学姐的博客,一个个解决掉了,解决后才发现,问题都是非常小的问题,却又是非常不好找的问题,非常小的细节,而且是那些你认为不会出错的地方。做事要细心,做程序更要细心,这篇博客,即使写给自己,也写给大家,一句话:“做程序必须细心在细心。”
分享到:
相关推荐
vb.net把DataGridView中的数据导入Excel中,通常采用对Excel操作的方式进行。该方法简单易懂,网上也有很多,但是效率低下。因为其采用的是一个单元格一个单元格的写入方式。当数据量非常大时,用时往往很长。相对而...
DataGridView 添加图片 导出 excel 插入图片 添加图片 ,图片设置大小c# 包含源码
根据Microsoft.Office.Interop.Excel,优化大数据量快速导出到 Excel 的方法
导出Excel包含的功能: 1.多表头导出最多支持到三行,表头格式说明 相邻父列头之间用'#'分隔,父列头与子列头用空格(' ')分隔,相邻子列头用逗号分隔(',') 两行:序号#分公司#组别#本日成功签约单数 预警,续约,流失,...
通过将数据传送到datagridview中,然后将datagridview中的数据导出到EXCEL 文档中(包括图片),进而将EXCEL文档导出为PDF格式文档! 此源代码为我项目中的源码,真实有效,有问题请留言!
asp.net 中实现从datagridview 导出到excel方法汇总
将datagridview的选中部分导出到EXCEL,可跳行选中,将选中的数据导出到表格中,方便快捷,源码已在VS2013中测试成功
把DataGridView里的数据导出到EXCEL,已经做好了的函数,直接用!
vb.net 2010 :EXCEL与Datagridview的互动:EXCEL写到Datagridview,并导出Datagridview为EXCEL,且导出EXCEL时数度快,上万条数据,1-2秒完成!
#region DataGridView数据显示到Excel /// /// 打开Excel并将DataGridView控件中数据导出到Excel /// /// ”dgv”>DataGridView对象 /// ”isShowExcle”>是否显示Excel界面 /// /// add com...
快速高效地将大量数据传输到Excel
VB将数据库导出到TXT文本文件中,注意一般文件路径正确的话,就可以顺利导出成功
1、重写DataGridView导出Excel的代码,5.7版控件使用开源的NPOI库导出Excel,完全不依赖Office,不会再有因为没装Office或Office安装有问题而导出失败的情况,而且导出速度非常快,支持大于65536条记录的导出(自动...
8、数据导出功能,可以将DataGridView导出为Excel\PDF\RTF\HTML文件,5.7版控件使用开源的NPOI导出Excel,速度非常快,效果非常好。 9、强大的容器控件打印功能(DrawPanel函数)。借助该函数,您只需要在您的容器...
暂未提供该功能的函数接口,只在打印参数设置窗口中增加了一个数据导出的按钮,可以将当前要打印的DataGridView的内容导出成Excel文件。该功能以后会进一步完善。 6、在进行页眉页脚文本设置时,可以用 [页码] 代表...
ChartGraph图表生成组件(电脑需安装Excel),用于将DataGridView表格(窗口程序)与GridView(网页程序)中的数据生成图表图片,然后再使用VB2008Print组件提供的图片打印功能(DrawImage)即可实现类似Excel的简单...
9、Excel导出功能,可以将DataGridView和GridView导出为Excel文件,5.2版控件还增加了不依赖Office的导出Excel功能,而且速度非常快,5.4版还增加了合并单元格的导出功能。 10、打印DataGridView时的打印方案保存与...
将数据库表中的数据生成Insert脚本的存储过程!!! 2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级...
9、Excel导出功能,可以将DataGridView和GridView导出为Excel文件,5.2版控件还增加了不依赖Office的导出Excel功能,而且速度非常快,5.4版还增加了合并单元格的导出功能。 10、打印DataGridView时的打印方案保存与...