使用 VB.NET 将数据从 DataGridView 导出为 Excel 表

加布里埃尔·斯坦库

最近在做一个项目,目的是让用户将DataGridView中完成的数据作为Excel表格发送,首先要将该表格保存在用户的PC上。我正在使用下面显示的代码:

Private Sub Bt2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt2.Click
    Dim xlApp As Excel.Application
    Dim xlWorkBook As Excel.Workbook
    Dim xlWorkSheet As Excel.Worksheet
    Dim misValue As Object = System.Reflection.Missing.Value

    Dim i As Int16, j As Int16

    xlApp = New Excel.Application
    xlWorkBook = xlApp.Workbooks.Add(misValue)
    xlWorkSheet = xlWorkBook.Sheets("sheet1")


    For i = 0 To dg.RowCount - 2
        For j = 0 To dg.ColumnCount - 1
            xlWorkSheet.Cells(i + 1, j + 1) = dg(j, i).Value.ToString()
        Next
    Next

    xlWorkBook.SaveAs("C:\Users\Abstract\Desktop\file1.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue,
         Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)
    xlWorkBook.Close(True, misValue, misValue)
    xlApp.Quit()

    releaseObject(xlWorkSheet)
    releaseObject(xlWorkBook)
    releaseObject(xlApp)

    MessageBox.Show("Over")
End Sub
Private Sub releaseObject(ByVal obj As Object)
    Try
        System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
        obj = Nothing
    Catch ex As Exception
        obj = Nothing
        MessageBox.Show("Exception Occured while releasing object " + ex.ToString())
    Finally
        GC.Collect()
    End Try
End Sub

用户单击按钮将他的 DataGrid 保存为 Excel 表格。但是,执行此操作后,我收到一个异常(在第一行,我将 xlApp 设置为 Excel 应用程序),其中包含以下文本:

COM Exception Ocurred
Exception thrown: 'System.Runtime.InteropServices.COMException' in trimitere_excel.exe
Additional information: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

我一直在寻找近 2 天来解决这个问题。如果您对我应该做什么有任何想法,我将非常感谢任何可以让我摆脱困境的建议!祝你今天过得愉快!:)

克里斯蒂安·科兹洛夫斯基

也许这会有所帮助:

Imports Excel = Microsoft.Office.Interop.Excel
Imports Microsoft.Office
Imports Microsoft.Office.Interop


Private Sub Bt2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt2.Click

Dim pathExcel As String = "C:\Users\Abstract\Desktop\file1.xls"
Dim xlApp As Excel.Application = New Excel.Application
Dim misValue As Object = System.Reflection.Missing.Value
Dim xlWorkBook As Excel.Workbook
xlWorkBook = xlApp.Workbooks.Add(misValue)
Dim xlWorksheet As Excel.Worksheet = xlWorkBook.Sheets("sheet1")

For i = 0 To dg.RowCount - 2
    For j = 0 To dg.ColumnCount - 1
        xlWorkSheet.Cells(i + 1, j + 1) = dg(j, i).Value.ToString()
    Next
Next

xlWorkBookSum.SaveAs(pathExcel)
xlWorkBookSum.Close()
xlApp.Quit()

releaseObject(xlWorkSheet)
releaseObject(xlWorkBook)
releaseObject(xlApp)

MessageBox.Show("Over")

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

允许VB.NET应用将Excel文件转换为数据表

从Excel导入到数据表vb.net

Excel VB.Net-将数组转换为范围并将值设置为工作表

将单元格从Excel粘贴到Datagridview VB.net

将表数据导出到Excel文件

VB.net将2条特定行导出到DataGridView

如何将数据从PostgreSQL数据库导出到Excel工作表?使用vb.net 2019 Windows窗体

将数据框导出/导入为Excel工作表

将数据DataGridView导出到Excel

VB .NET使用SQL填充DataGridView

使用C#将Windows窗体datagridview导出到Excel Power Pivot表

vb.net在datagridview中加载excel数据错过日期值

如何将datagridview的确切值导出到excel VB中

如何将Datagridview的内容导出到文本文件vb.net 2010

使用vb.net将工作表中的数据导出到多个工作表

将datagridview标头列导出到excel vb 2012

如何使用angularjs将数据从HTML表导出到Excel

使用datagridview更新vb.net中的mysql表

将数据导出到Excel工作表

如何使用ASP.NET MVC将数据从数据库导出到Excel工作表?

使用VB.NET应用程序将HTML表从剪贴板粘贴到Excel工作表中

在VB.NET中,我在使用数据表填充DataGridView组合框时遇到问题

vb.net数据表转EXCEL

如何将新的datagridview数据导出到excel

将数据和图表从 Excel 工作表导出为 JPG

使用 VB.NET 在导出的文档上创建数据透视表

使用 VB.Net 应用程序将 Excel 数据导入 SQL Server 表

将数据框导出到 Excel 表

将 datagridview 数据导出到 Excel 工作表