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

来源:互联网 发布:远程服务器监控软件 编辑:程序博客网 时间:2024/06/05 03:12

       在敲机房收费系统的时候,显示数据的时候需要将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即可!    

   

原创粉丝点击