加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB.NET——导出Excel

发布时间:2020-12-17 07:47:57 所属栏目:百科 来源:网络整理
导读:多个窗体都需要这个功能,所以在U层添加一个类模块,写入一下代码 Imports Microsoft.Office.InteropImports System.Windows.FormsImports System.Windows.Forms.KeyEventArgsModule PublicModule ''' summary ''' 导出Excel表格 ''' /summary ''' param nam

多个窗体都需要这个功能,所以在U层添加一个类模块,写入一下代码

Imports Microsoft.Office.Interop
Imports System.Windows.Forms
Imports System.Windows.Forms.KeyEventArgs

Module PublicModule
    ''' <summary>
    ''' 导出Excel表格
    ''' </summary>
    ''' <param name="frmName"></param>
    ''' <param name="dgv"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function ExportExcel(ByVal frmName As Form,ByVal dgv As DataGridView) As Boolean
        Dim myExcel As New Microsoft.Office.Interop.Excel.Application     '建立Excel连接  

        myExcel.Application.Workbooks.Add(True)      '新建一个Excel文件  
        myExcel.Visible = True                       '让Excel表可见  
        Dim i,j,k As Integer     '定义变量  

        For k = 0 To dgv.ColumnCount - 1             '添加表头, 因为Excel表从第一行第一列开始,而MyGridView从第0行第0列开始,所以需要加1  
            myExcel.Cells(1,k + 1) = dgv.Columns(k).HeaderText
        Next

        For i = 0 To dgv.RowCount - 1                 '通过循环来添加控件中的数据到Excel表中  
            For j = 0 To dgv.ColumnCount - 1
                '由于第一行是表头,所以添加数据从第二行开始。  
                myExcel.Cells(i + 2,j + 1) = dgv(j,i).Value           '因为Excel表从第一行第一列开始,而MyGridView从第0行第0列开始,所以需要加1  
            Next
        Next
        myExcel.Cells.EntireColumn.AutoFit()
        Return True
    End Function

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读