zoukankan      html  css  js  c++  java
  • DateGridew导出Excel表+常见错误提示

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

       

  • 相关阅读:
    C++ Primer 笔记——标准库类型string
    Windows文件系统
    c++数组
    B+树
    简单搭建FastDFS分布式文件系统(简单易懂)
    什么是分布式系统(通俗易懂)
    对List中每个对象元素按时间顺序排序
    java23种设计模式之一: 策略模式
    微信app支付java后台流程、原理分析及nei网穿透
    quartz多任务调度+spring 实现
  • 原文地址:https://www.cnblogs.com/pangblog/p/3260644.html
Copyright © 2011-2022 走看看