程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB.NET >> VB.NET版機房收費系統之導出Excel表格

VB.NET版機房收費系統之導出Excel表格

編輯:VB.NET

datagridview,翻譯成中文的意思是數據表格顯示,使用DataGridView控件,可以顯示和編輯來自不同類型的數據源的表格,將數據綁定到DataGridView控件非常簡單和直觀,大多數情況下,只需要設置DataSource屬性即可,在綁定到包含多個列表或表的數據庫源時,只需將DataMember屬性設置為綁定的列表或表的字符串即可。機房收費系統多次用到數據表格的顯示,並且導出為Excel表格,第一次機房收費系統是用VB版本的,她導出Excel的方法如下:

打開VB-工程-應用-勾選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版機房收費系統,未完,待續......

作者:csdn博客 丁國華

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved