DataGridView中的数据导出至Excel

时间:2021-05-10 14:46:23

一、添加引用

  刚敲一行代码就出错了,提示是这样的:

DataGridView中的数据导出至Excel

 后来找到了原因:我添加了两个引用

   1、COM组件

            DataGridView中的数据导出至Excel


   2、程序集--扩展

          DataGridView中的数据导出至Excel

 

    然后我分别去掉了其中一个,发现都可以运行,那么我有一个疑问:这两个有什么区别那?暂时还没有明白,如果有哪位大神知道,请留言哦!


二、代码

  

 Private Sub btnExcel_Click(sender As Object, e As EventArgs) Handles btnExcel.Click
        '判断DataGridView中是否有数据,若有导出,没有提示
        If DataGridView1.RowCount <> 0 Then
            '创立连接,并创建一个新表
            Dim MyExcel As New Microsoft.Office.Interop.Excel.Application()
            '创建一个工作薄
            MyExcel.Application.Workbooks.Add()
            '显示
            MyExcel.Visible = True
            '添加标题
            Dim Cols As Integer
            For Cols = 1 To DataGridView1.Columns.Count
                MyExcel.Cells(1, Cols) = DataGridView1.Columns(Cols - 1).HeaderText
            Next
            '往excel表里添加数据()   
            Dim i As Integer
            For i = 0 To DataGridView1.RowCount - 1
                Dim j As Integer
                For j = 0 To DataGridView1.ColumnCount - 1
                    MyExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString
                Next j
            Next i
        Else
            MsgBox("没有数据可导出!", vbOK + vbExclamation, "提示")
        End If
    End Sub
三、注意

     修改DataGridView的属性AllowUserToAddRows为False

     这个属性是自动添加空白行的属性

     如果为true则会出现下面的问题,因为这是单元格的value值为空

    DataGridView中的数据导出至Excel