DateGridew导出Excel表+常见错误提示

本文详细介绍了一种简单易懂的方法,将DataGridView中的数据导出到Excel表格。通过添加Microsoft Office Interop Excel引用并编写相应的代码,实现了从DataGridView到Excel的数据迁移。文中还解决了常见错误并提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在敲机房收费系统的时候,显示数据的时候需要将DateGridew 中的数据导出进Excel表。DateGridew导出Excel表是比较常见的,当然导出Excel表有很多种方法,下面是个人认为比较容易理解的一种方法:


1.添加引用:项目—>添加引用Microsoft .Office.Interop.Excel


常见错误:Application”在命名空间“Microsoft.Office.Interop.Excel”中不明确。

注意:这是由于不同版本之间发生了冲突引起的。例如,我在引用Microsoft Excel15.0 Object Libirary 之后又引用Microsoft.office.Interop.Excel 就会出现上面的错误。


2.编写代码:

    Private Sub butnExport_Click(sender As Object, e As EventArgs) Handles butnExport.Click
        '用到Application,需要不跟其他的Excel表格冲突
        Dim MyExcel As New Microsoft.Office.Interop.Excel.Application
        '添加工作簿
        MyExcel.Application.Workbooks.Add(True)
        '表格可见
        MyExcel.Visible = True
        '添加控件的列数到表格当中
        Dim cols As Integer
        For cols = 0 To DataGridView.ColumnCount - 1
            MyExcel.Cells(1, cols + 1) = Me.DataGridView.Columns(cols).HeaderText '添加列标题
        Next cols

        '设置行和列
        Dim i As Integer
        Try
            For i = 0 To DataGridView.RowCount - 1     '行的变化范围
                Dim j As Integer
                For j = 0 To DataGridView.ColumnCount - 1    '列的变化范围
                    'DateGridew的数据导出到Excel中
                    If Me.DataGridView(j, i).Value Is System.DBNull.Value Then
                        '无数据为空表
                        MyExcel.Cells(i + 2, j + 1) = ""
                    Else
                        '将DateGridew的数据添加到Excel表中
                        MyExcel.Cells(i + 2, j + 1) = DataGridView(j, i).Value.ToString
                    End If
                Next j
            Next i
            MsgBox("数据导出成功!")  '提示

        Catch ex As Exception
            MsgBox(ex.Message, "导出数据")   '弹出捕获的消息
            Exit Sub

        End Try

    End Sub

常见错误:“未将对象引用设置到对象的实例”

注意:在DateGridew中有一个属性AllowUserToAddRows,要设置成False,否则会出现上面的错误,当然如果设置成True,则将For i = 0 To DataGridView.RowCount - 1改成For i = 0 To DataGridView.RowCount - 2即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值