将datagridview的数据导出到Excel中,可供用户编辑与查看,这是一个很棒的功能,用户也需要这样的功能,那么,怎么导出呢?我的机房收费系统里面有很多个窗体有导出excel的功能,如果要实现这个功能,首先,我不能做复制粘贴的工作,还是那句话,当一件事情,重复2遍之后,就要思考如何抽象,简单化,让我们始终做有意义的事情,不做低效能的事。
下面,我来具体讲解一下,如何将datagridview的数据导出到Excel 里面。
首先,在U层添加一个引用:
由这里还可以看出,不仅可以导出Excel ,导出其他形式也是可以的,需要我们多多动手了~
之后,建立一个模块来写具体的功能:
Imports Microsoft.Office.Interop Imports System.Windows.Forms Module ImportToExcel Public Function ImportToExcel(ByVal gvw As DataGridView) As Boolean '导出到Excel函数 '建立Excel连接 Dim myExcel As New Microsoft.Office.Interop.Excel.Application() myExcel.Application.Workbooks.Add(True) myExcel.Visible = True '定义循环变量,行列变量 Dim intRow As Integer Dim intColumn As Integer Dim intTitle As Integer '添加表头 For intTitle = 0 To gvw.ColumnCount - 1 myExcel.Cells(1, intTitle + 1) = gvw.Columns(intTitle).HeaderText Next intTitle '通过循环来添加控件中的数据到表格中 For intRow = 0 To gvw.RowCount - 1 For intColumn = 0 To gvw.ColumnCount - 1 '由于第一行是表头,所以添加数据时从第二行开始 myExcel.Cells(intRow + 2, intColumn + 1) = gvw(intColumn, intRow).Value.ToString Next intColumn Next intRow Return True '添加完毕,返回true End Function End Module模块的代码写完之后,我们就可以在别的窗体里面,调用它了,就不用再每个窗体里面写这样一大串的代码了。
具体的窗体的代码如下:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Call ImportToExcel.ImportToExcel(DataGridView1)'importToExcel是我的模块的名称 End Sub
这样就完美的实现了导出EXCEl.我们要做的不仅仅是功能的实现,而是应该多思考,为什么要用这个功能,什么时候用,怎么用,不做代码的搬运工。