【机房个人重构】导出Excel

            将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.我们要做的不仅仅是功能的实现,而是应该多思考,为什么要用这个功能,什么时候用,怎么用,不做代码的搬运工。

你可能感兴趣的:(导出Excel,机房个人重构)