机房系统(五)——【Excel表导出】
生活随笔
收集整理的這篇文章主要介紹了
机房系统(五)——【Excel表导出】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
最近在做機(jī)房收費(fèi)系統(tǒng)的時(shí)候,遇到了將查詢(xún)結(jié)果導(dǎo)出為Excel表的形式。一開(kāi)始感覺(jué)這個(gè)很難,但經(jīng)過(guò)查閱相關(guān)的博客后,還是比較順利的實(shí)現(xiàn)功能了。
正文
在VB中導(dǎo)出Excel表,實(shí)際上就是VB與Excel的交互。首先我們的計(jì)算機(jī)中要有Excel,然后從VB程序中引用下框中內(nèi)容。
PS:如果一開(kāi)始沒(méi)有找到這一項(xiàng),也不用著急。單擊右側(cè)的“瀏覽”按鈕即可,找到自己電腦上Excel文件的位置,添加上再引用就OK。(為方便快速找到Excel文件的位置,我們可以先找到Excel.exe程序,右擊查看文件所在位置,在瀏覽時(shí)候直接定位到該位置。)
引用完成后,下一步就需要讓VB能認(rèn)識(shí)Excel了。為讓他們能互相認(rèn)識(shí),可以和睦共處,就需要我們做下面的工作來(lái)幫助他們了。 Dim ExcelApp As Excel.Application '定義Excel表格應(yīng)用程序Dim ExcelBook As Excel.Workbook '定義Excel表格工作簿Dim ExcelSheet As Excel.Worksheet '定義Excel表格工作表Dim i As Integer '定義excel表中的行變量Dim j As Integer '定義excel表中的列變量Set ExcelApp = CreateObject("Excel.application") '創(chuàng)建一個(gè)excel應(yīng)用程序?qū)ο?/span>Set ExcelBook = ExcelApp.Workbooks.Add '創(chuàng)建一個(gè)工作簿Set ExcelSheet =ExcelBook.Worksheets(1) '創(chuàng)建一個(gè)工作表DoEvent '因以下代碼運(yùn)行時(shí)間較長(zhǎng),所以轉(zhuǎn)讓控制權(quán),讓操作系統(tǒng)處理其他事件,避免操作不響應(yīng)誤認(rèn)為死機(jī)If MSFlexGrid1.Rows <= 1 ThenMsgBox "沒(méi)有可導(dǎo)出數(shù)據(jù)!",vbOKOnly, "溫馨提示:"EndIf With MSFlexGrid1For i = 0 To .Rows - 1 '循環(huán)添加行內(nèi)容For j = 0 To .Cols - 1 '循環(huán)添加列內(nèi)容DoEventsExcelApp.ActiveSheet.Cells(i + 1, j+ 1) = .TextMatrix(i, j) '添加單元格內(nèi)容Next jNext iEnd WithExcelApp.ActiveWorkbook.SaveAs App.Path& "\學(xué)生查詢(xún).xls" '設(shè)置Excel保存路徑ExcelApp.ActiveWorkbook.Saved = True '保存excel表格MsgBox "導(dǎo)出成功!", vbOKOnly, "溫馨提示:"ExcelApp.Visible = True '顯示excel表格Set ExcelApp = Nothing '釋放ExcelApp對(duì)象Set ExcelBook = NothingSet ExcelSheet = Nothing
結(jié)語(yǔ)
在機(jī)房收費(fèi)系統(tǒng)中,多次用到了Excel表的導(dǎo)出,所以我將這部分代碼聲明到了模塊中,用到的時(shí)候直接用Call調(diào)用即可。在導(dǎo)出選擇是否保存時(shí),點(diǎn)擊否會(huì)出現(xiàn)錯(cuò)誤,而不是直接關(guān)閉。所以在調(diào)用的同時(shí),增加了一步錯(cuò)誤處理。
最近在做機(jī)房收費(fèi)系統(tǒng)的時(shí)候,遇到了將查詢(xún)結(jié)果導(dǎo)出為Excel表的形式。一開(kāi)始感覺(jué)這個(gè)很難,但經(jīng)過(guò)查閱相關(guān)的博客后,還是比較順利的實(shí)現(xiàn)功能了。
正文
在VB中導(dǎo)出Excel表,實(shí)際上就是VB與Excel的交互。首先我們的計(jì)算機(jī)中要有Excel,然后從VB程序中引用下框中內(nèi)容。
PS:如果一開(kāi)始沒(méi)有找到這一項(xiàng),也不用著急。單擊右側(cè)的“瀏覽”按鈕即可,找到自己電腦上Excel文件的位置,添加上再引用就OK。(為方便快速找到Excel文件的位置,我們可以先找到Excel.exe程序,右擊查看文件所在位置,在瀏覽時(shí)候直接定位到該位置。)
引用完成后,下一步就需要讓VB能認(rèn)識(shí)Excel了。為讓他們能互相認(rèn)識(shí),可以和睦共處,就需要我們做下面的工作來(lái)幫助他們了。 Dim ExcelApp As Excel.Application '定義Excel表格應(yīng)用程序Dim ExcelBook As Excel.Workbook '定義Excel表格工作簿Dim ExcelSheet As Excel.Worksheet '定義Excel表格工作表Dim i As Integer '定義excel表中的行變量Dim j As Integer '定義excel表中的列變量Set ExcelApp = CreateObject("Excel.application") '創(chuàng)建一個(gè)excel應(yīng)用程序?qū)ο?/span>Set ExcelBook = ExcelApp.Workbooks.Add '創(chuàng)建一個(gè)工作簿Set ExcelSheet =ExcelBook.Worksheets(1) '創(chuàng)建一個(gè)工作表DoEvent '因以下代碼運(yùn)行時(shí)間較長(zhǎng),所以轉(zhuǎn)讓控制權(quán),讓操作系統(tǒng)處理其他事件,避免操作不響應(yīng)誤認(rèn)為死機(jī)If MSFlexGrid1.Rows <= 1 ThenMsgBox "沒(méi)有可導(dǎo)出數(shù)據(jù)!",vbOKOnly, "溫馨提示:"EndIf With MSFlexGrid1For i = 0 To .Rows - 1 '循環(huán)添加行內(nèi)容For j = 0 To .Cols - 1 '循環(huán)添加列內(nèi)容DoEventsExcelApp.ActiveSheet.Cells(i + 1, j+ 1) = .TextMatrix(i, j) '添加單元格內(nèi)容Next jNext iEnd WithExcelApp.ActiveWorkbook.SaveAs App.Path& "\學(xué)生查詢(xún).xls" '設(shè)置Excel保存路徑ExcelApp.ActiveWorkbook.Saved = True '保存excel表格MsgBox "導(dǎo)出成功!", vbOKOnly, "溫馨提示:"ExcelApp.Visible = True '顯示excel表格Set ExcelApp = Nothing '釋放ExcelApp對(duì)象Set ExcelBook = NothingSet ExcelSheet = Nothing
結(jié)語(yǔ)
在機(jī)房收費(fèi)系統(tǒng)中,多次用到了Excel表的導(dǎo)出,所以我將這部分代碼聲明到了模塊中,用到的時(shí)候直接用Call調(diào)用即可。在導(dǎo)出選擇是否保存時(shí),點(diǎn)擊否會(huì)出現(xiàn)錯(cuò)誤,而不是直接關(guān)閉。所以在調(diào)用的同時(shí),增加了一步錯(cuò)誤處理。
總結(jié)
以上是生活随笔為你收集整理的机房系统(五)——【Excel表导出】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 机房系统(四)——【分页控件SSTab】
- 下一篇: 机房系统(六)——【下机】