在VB機(jī)房的版本中,我們已經(jīng)暴露導(dǎo)出Excel特征,此功能已重新接觸到不同的理解
一、原理
要實(shí)現(xiàn)導(dǎo)出Excel的功能,首先要引用命名空間,目的是能夠使用該命名空間下的方法和類(lèi)
Imports Microsoft.Office.Interop
然后就須要?jiǎng)?chuàng)建在導(dǎo)出Excel中須要用到的類(lèi)的實(shí)例。分別創(chuàng)建一個(gè)Excel應(yīng)用,工作簿和表
Dim xlApp, xlBook, xlSheet As Object
xlApp = CreateObject("Excel.Application")
xlBook = xlApp.Workbooks.Add
xlSheet = xlBook.Worksheets()
創(chuàng)建完成后就能夠把要到出的數(shù)據(jù)逐條寫(xiě)入到Excel實(shí)例化的表中就可以
二、代碼
在機(jī)房中我們都是要把DataGridView中的數(shù)據(jù)導(dǎo)出
Dim xlApp, xlBook, xlSheet As Object
xlApp = CreateObject("Excel.Application")
xlBook = xlApp.Workbooks.Add
xlSheet = xlBook.Worksheets()
'使工作表可見(jiàn)
xlApp.Visible = True
'導(dǎo)出DataGridView中的標(biāo)題
Dim Cols As Integer
For Cols = 1 To DataGrid.Columns.Count
xlApp.Cells(1, Cols) = DataGrid.Columns(Cols - 1).HeaderText
Next
'逐行導(dǎo)出DataGridView中的數(shù)據(jù)
Dim i As Integer
For i = 0 To DataGrid.RowCount - 1
Dim j As Integer
For j = 0 To DataGrid.ColumnCount - 1
'推斷DataGridview中的數(shù)據(jù)是否導(dǎo)出完成
If Me.DataGrid(j, i).Value Is System.DBNull.Value Then
xlApp.Cells(i = 2, j = 1) = ""
Else
xlApp.Cells(i + 2, j + 1) = DataGrid(j, i).Value.ToString
End If
Next
Next
這樣就能夠?qū)崿F(xiàn)我們想要的導(dǎo)出Excel功能,知道了原理之后,再遇到類(lèi)似的問(wèn)題會(huì)非常easy解決的
三、總結(jié)
這種技術(shù)在實(shí)現(xiàn)之后須要自我們回過(guò)頭來(lái)繼續(xù)看。和經(jīng)驗(yàn)會(huì)更深刻的印象
|