vb.net datagridview控件导出excel
2014-08-10 16:24
176 查看
导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码。这次,我们使用面向对象的思维再次实现这个功能。对比一下,两个方法有什么区别。
这里使用vb.net作为载体,和面向过程一样,第一步还是要添加引用。为了增加复用性,需要把这个功能做成一个模块,因为是导出数据,所以,把它放到U层,需要在U层添加引用。如图:
将图中画红框的选中就可以了。
然后在U层添加模块,模块代码如下:
Imports Microsoft.Office.Interop.Excel
'引用excel表格内容
''' <summary>
''' 此模块用于将datagridview内容导出为excel
''' </summary>
''' <remarks>dgv作为datagridview控件缩写,当做一个参数</remarks>
Module ExportExcel
Public Function ExportExcel(ByVal dgv As DataGridView) As Boolean
模块写完之后,只要用到这个功能,只需要调用这个模块即可。
从功能来说,面向过程和面向对象实现的过程是一样的,第一步,添加引用;第二步,创建excel工作簿;第三步,通过循环,将datagridview数据导出excel。从复用性来说,都可以把代码做成模块然后进行调用。通过这些对比,发现,导出excel在面向过程中和面向对象中是没有区别的。
目前正在逐步摸索面向对象的奥妙,如有错误,敬请指正。
这里使用vb.net作为载体,和面向过程一样,第一步还是要添加引用。为了增加复用性,需要把这个功能做成一个模块,因为是导出数据,所以,把它放到U层,需要在U层添加引用。如图:
将图中画红框的选中就可以了。
然后在U层添加模块,模块代码如下:
Imports Microsoft.Office.Interop.Excel
'引用excel表格内容
''' <summary>
''' 此模块用于将datagridview内容导出为excel
''' </summary>
''' <remarks>dgv作为datagridview控件缩写,当做一个参数</remarks>
Module ExportExcel
Public Function ExportExcel(ByVal dgv As DataGridView) As Boolean
'实例化一个excel,创建一个工作簿,工作簿可见 Dim myExcel As New Microsoft.Office.Interop.Excel.Application myExcel.Application.Workbooks.Add(True) myExcel.Visible = True '导出表头 Dim i, j, k As Integer
<span style="white-space:pre"> </span>'利用循环,填写表头 For k = 0 To dgv.ColumnCount - 1 myExcel.Cells(1, k + 1) = dgv.Columns(k).HeaderText Next '利用循环嵌套,将datagridview内容放到导出为excel表格 '这里有两个循环i表示行循环,j为列循环,excel先从行开始循环,excel需要从列开始循环 For i = 0 To dgv.Rows.Count - 1 For j = 0 To dgv.ColumnCount - 1 myExcel.Cells(i + 2, j + 1) = dgv(j, i).Value.ToString Next Next Return True End Function End Module这里唯一需要注意的地方是嵌套循环,i循环作为行循环,j循环作为列循环,excel导入数据是从行开始循环的,但是datagridview导出数据却是先从列开始循环的。刚开始不明白,把行和列写错了,运行的时候一直报错。
模块写完之后,只要用到这个功能,只需要调用这个模块即可。
从功能来说,面向过程和面向对象实现的过程是一样的,第一步,添加引用;第二步,创建excel工作簿;第三步,通过循环,将datagridview数据导出excel。从复用性来说,都可以把代码做成模块然后进行调用。通过这些对比,发现,导出excel在面向过程中和面向对象中是没有区别的。
目前正在逐步摸索面向对象的奥妙,如有错误,敬请指正。
相关文章推荐
- 关于Gridview中使用控件和图片导出到Excel的处理
- 关于Gridview中使用控件和图片导出到Excel的处理
- 一键导出Word和Excel文件的简单服务器控件
- 导出CListCtrl控件到Excel文件
- 从GridView中直接导出数据到Excel文件 处理导出乱码 类型“GridView”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。”的异常
- C#WinFrom DEV控件Gridview导入导出Excel
- CListCtrl控件导出excel
- C# 窗体利用datagrdeview控件导出数据库中的内容为excel
- C# DataGridView控件中数据导出到Excel
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
- 表格控件(GridView)数据格式化导出到Excel并下载.
- 读取DataGrid或GridView等WebControls控件,导出Excel 读取Excel到dataTable中
- 关于用excel导出gridview控件中的数据时,会提示什么服务器控件 ,要在server等等的错误
- Repeater控件数据导出Excel(附演示动画)
- 学习心得:控件之List复制、导出数据(粘贴、导出到EXCEL)
- CListCtrl控件导出Excel格式文件
- ASP.NET 导出Panel、GridView控件到Excel或Word
- 使用控件的RenderControl()方法导出Excel
- updatepanel中的模板页中的控件 进行全局刷新的解决方法(respone.write()出错的解决方法,updatepanel中导出excel的解决方 案) (转自freeliver54博客)
- 机房收费系统颗粒大归仓之----DTPicker控件与导出数据为Excel