zoukankan      html  css  js  c++  java
  • VB.NET版机房收费系统---导出Excel表格

           datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情况下,仅仅须要设置DataSource属性就可以,在绑定到包括多个列表或表的数据库源时,仅仅需将DataMember属性设置为绑定的列表或表的字符串就可以。机房收费系统多次用到数据表格的显示,而且导出为Excel表格,第一次机房收费系统是用VB版本号的,她导出Excel的方法例如以下:

            打开VB-project-应用-勾选Microsoft  Excel 14.0 Objexts 2.6 Library

             

            代码例如以下:

             

    <span style="font-size:18px;">Private Sub CmdExport_Click()  
        Dim j As Integer  
        Dim xlApp As Excel.Application  
        Dim xlBook As Excel.Workbook  
        Dim xlSheet As Excel.Worksheet  
        Set xlApp = CreateObject("Excel.Application")   '实例化对象xlApp  
            xlApp.Visible = True  
        Set xlBook = xlApp.Workbooks.Add  
        Set xlSheet = xlBook.Worksheets(1)  
        For i = 0 To myflexgrid.Rows - 1  
            For j = 0 To myflexgrid.Cols - 1  
               myflexgrid.Row = i  
               myflexgrid.Col = j  
               xlSheet.Cells(i + 1, j + 1) = Trim(myflexgrid.Text)  
            Next  
        Next  
    End Sub </span>
            第二版机房收费系统VB.NET版本号,她又怎么样导出Exce表格nie,跟VB版的导出Excel表格的方法有哪些异曲同工之妙,又有着VB不具备的妙处呢?以下一一介绍:

              首先,我们须要引用

               

              另一个细节问题,我们须要把AllowUserToAddRow这个属性改为False,后面具体解释True和False的差别:

               

               编程代码例如以下:

                

    <span style="font-size:18px;">Public Function dirivExcel(ByVal dgv As DataGridView) As Boolean
            Dim myExcel As New Microsoft.Office.Interop.Excel.Application  '建立Excel连接
            myExcel.Application.Workbooks.Add(True)
            myExcel.Visible = True
            Dim i, j, k As Integer '定义变量
    
            For k = 0 To dgv.ColumnCount - 1     '加入表头
                myExcel.Cells(1, k + 1) = dgv.Columns(k).HeaderText
    
            Next k
    
            For i = 0 To dgv.RowCount - 1   '通过循环来加入控件中的数据到表格中
                For j = 0 To dgv.ColumnCount - 1
                    '因为第一行是表头,所以加入数据时就从第二行開始加入
                    myExcel.Cells(i + 2, j + 1) = dgv(j, i).Value
    
                Next
            Next
            Return True '加入完成,返回true
    
        End Function</span>
              如今我们来看一下执行结果:

              

              AllowUserToAddRow这个属性改为True的时候出现例如以下错误:

              

            由于单元格的value是空的,对一个控制进行.ToString()操作时,就会出现System.NullReferenceException异常。对此我将toString去掉,就不报错了,另外你能够对value先进行是否为空进行推断假设不为空,在进行Tostring()操作,上述是在改动代码的基础上来攻克了这个问题,另外对于控件本身也有一个属性控制,是否自己主动加入空白行。VB.NET版机房收费系统,未完,待续......

  • 相关阅读:
    [PY3]——内置数据结构(2)——元组及其常用操作
    [PY3]——内置数据结构(1)——列表及其常用操作
    [PY3]——基本语法
    session和cookie介绍以及session简单应用
    php中获取当前系统时间、时间戳
    ajax之XML简介
    Ajax练习题
    ajax语法
    JQUERY选中问题
    JSON
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4357242.html
Copyright © 2011-2022 走看看