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

如何使用vb.net将datagridview导出到excel?

发布时间:2020-12-17 00:02:16 所属栏目:大数据 来源:网络整理
导读:我在vb.net中有一个datagridview,它从数据库中填充.我研究过,我发现没有内置的支持直接从datagridview打印.我不想使用水晶报告,因为我不熟悉它. 我打算将它导出到excel以使我能够从datagridview生成报告. 你能告诉我这样做的方法吗? 下面的代码创建Excel文
我在vb.net中有一个datagridview,它从数据库中填充.我研究过,我发现没有内置的支持直接从datagridview打印.我不想使用水晶报告,因为我不熟悉它.

我打算将它导出到excel以使我能够从datagridview生成报告.

你能告诉我这样做的方法吗?

下面的代码创建Excel文件并将其保存在D:驱动器中
它使用Microsoft Office 2007

首先将READ REIDRANCE(Microsoft Office 12.0对象库)添加到您的项目中

然后将下面给出的代码添加到导出按钮单击事件 –

Private Sub Export_Button_Click(ByVal sender As System.Object,ByVal e As 
System.EventArgs) Handles VIEW_Button.Click

    Dim xlApp As Microsoft.Office.Interop.Excel.Application
    Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
    Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
    Dim misValue As Object = System.Reflection.Missing.Value
    Dim i As Integer
    Dim j As Integer

    xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
    xlWorkBook = xlApp.Workbooks.Add(misValue)
    xlWorkSheet = xlWorkBook.Sheets("sheet1")


    For i = 0 To DataGridView1.RowCount - 2
        For j = 0 To DataGridView1.ColumnCount - 1
            For k As Integer = 1 To DataGridView1.Columns.Count
                xlWorkSheet.Cells(1,k) = DataGridView1.Columns(k - 1).HeaderText
                xlWorkSheet.Cells(i + 2,j + 1) = DataGridView1(j,i).Value.ToString()
            Next
        Next
    Next

    xlWorkSheet.SaveAs("D:vbexcel.xlsx")
    xlWorkBook.Close()
    xlApp.Quit()

    releaSEObject(xlApp)
    releaSEObject(xlWorkBook)
    releaSEObject(xlWorkSheet)

    MsgBox("You can find the file D:vbexcel.xlsx")
End Sub

Private Sub releaSEObject(ByVal obj As Object)
    Try
        System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
        obj = Nothing
    Catch ex As Exception
        obj = Nothing
    Finally
        GC.Collect()
    End Try
End Sub

(编辑:李大同)

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

    推荐文章
      热点阅读