溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VB.NET如何使用Excel文件

發(fā)布時間:2021-12-02 11:32:01 來源:億速云 閱讀:160 作者:小新 欄目:編程語言

小編給大家分享一下VB.NET如何使用Excel文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、VB.NET Excel文件函數(shù)代碼:

view plaincopy to clipboardprint?  Option Explicit   Public Function MergeXlsFile(ByVal strPath As String, Optional ByVal SheetCount As Byte = 1) As Boolean  Dim i As Integer  Dim strSrcFile As String  Dim nRows As Long, nCols As Long, nSheets As Byte, nNewRows() As Integer  Dim xlApp As Object, xlSrcBook As Object, xlNewBook As Object, xlSheet As Object, xlRange As Object  On Error Resume Next  If Right(strPath, 1) <> "\" Then strPathstrPath = strPath & "\"   '如果需要合并文件中的工作表數(shù)量小于1則退出   If SheetCount < 1 Then Exit Function  '刪除掉該路徑下原來的合并文件   If Dir(strPath & "合并后的文件.xls") <> "" Then Kill strPath & "合并后的文件.xls"  '獲得第1個XLS文件   strSrcFile = Dir(strPath & "*.xls")   '如果文件不存在則退出   If Len(strSrcFile) = 0 Then Exit Function  '創(chuàng)建一個Excel實例   Set xlApp = CreateObject("Excel.Application")   '新建一個工作簿   Set xlNewBook = xlApp.Workbooks.Add   '調(diào)整新建工作簿里工作表的數(shù)量   ReDim nNewRows(1 To SheetCount)   For i = 1 To SheetCount - xlNewBook.Sheets.Count   xlNewBook.Sheets.Add , xlNewBook.Sheets(xlNewBook.Sheets.Count)   Next  '循環(huán)查找當前路徑下的所有XLS文件   Do  '打開找到的XLS文件   Set xlSrcBook = xlApp.Workbooks.Open(strPath & strSrcFile)   '循環(huán)復(fù)制源XLS文件里的工作表   nSheets = IIf(xlSrcBook.Sheets.Count < SheetCount, xlSrcBook.Sheets.Count, SheetCount)   For i = 1 To nSheets   Set xlSheet = xlSrcBook.Sheets(i)   '獲得源XLS文件中第i個工作表實際數(shù)據(jù)的行列數(shù)   nRows = xlSheet.UsedRange.Rows.Count   nCols = xlSheet.UsedRange.Columns.Count   '使用范圍對象粘貼源XLS文件數(shù)據(jù)到合并結(jié)果文件中   Set xlRange = xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(nRows, nCols))   xlRange.Select  xlRange.Copy   xlNewBook.Sheets(i).Cells(nNewRows(i) + 1, 1).PasteSpecial &HFFFFEFF8   '保存合并結(jié)果文件中第i個工作表的行數(shù)   nNewRows(i) = xlNewBook.Sheets(1).UsedRange.Rows.Count   Next  '關(guān)閉打開的源XLS文件   xlSrcBook.Close   '繼續(xù)查找下一個XLS文件   strSrcFile = Dir()   Loop Until Len(strSrcFile) = 0   '保存并關(guān)閉合并結(jié)果文件   xlNewBook.SaveAs strPath & "合并后的文件.xls"  xlNewBook.Close   '退出Excel實例   xlApp.Quit   '釋放資源   Erase nNewRows   Set xlRange = Nothing Set xlSheet = Nothing Set xlNewBook = Nothing Set xlSrcBook = Nothing If Err.Number = 0 Then MergeXlsFile = True End Function  Option Explicit   Public Function MergeXlsFile(ByVal strPath As String, Optional ByVal SheetCount As Byte = 1) As Boolean  Dim i As Integer  Dim strSrcFile As String  Dim nRows As Long, nCols As Long, nSheets As Byte, nNewRows() As Integer  Dim xlApp As Object, xlSrcBook As Object, xlNewBook As Object, xlSheet As Object, xlRange As Object   On Error Resume Next  If Right(strPath, 1) <> "\" Then strPathstrPath = strPath & "\"  '如果需要合并文件中的工作表數(shù)量小于1則退出  If SheetCount < 1 Then Exit Function  '刪除掉該路徑下原來的合并文件  If Dir(strPath & "合并后的文件.xls") <> "" Then Kill strPath & "合并后的文件.xls"  '獲得第1個XLS文件  strSrcFile = Dir(strPath & "*.xls")  '如果文件不存在則退出  If Len(strSrcFile) = 0 Then Exit Function  '創(chuàng)建一個Excel實例  Set xlApp = CreateObject("Excel.Application")  '新建一個工作簿  Set xlNewBook = xlApp.Workbooks.Add  '調(diào)整新建工作簿里工作表的數(shù)量  ReDim nNewRows(1 To SheetCount)  For i = 1 To SheetCount - xlNewBook.Sheets.Count  xlNewBook.Sheets.Add , xlNewBook.Sheets(xlNewBook.Sheets.Count)  Next  '循環(huán)查找當前路徑下的所有XLS文件  Do  '打開找到的XLS文件  Set xlSrcBook = xlApp.Workbooks.Open(strPath & strSrcFile)  '循環(huán)復(fù)制源XLS文件里的工作表  nSheets = IIf(xlSrcBook.Sheets.Count < SheetCount, xlSrcBook.Sheets.Count, SheetCount)  For i = 1 To nSheets  Set xlSheet = xlSrcBook.Sheets(i)  '獲得源XLS文件中第i個工作表實際數(shù)據(jù)的行列數(shù)  nRows = xlSheet.UsedRange.Rows.Count  nCols = xlSheet.UsedRange.Columns.Count  '使用范圍對象粘貼源XLS文件數(shù)據(jù)到合并結(jié)果文件中  Set xlRange = xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(nRows, nCols))  xlRange.Select  xlRange.Copy  xlNewBook.Sheets(i).Cells(nNewRows(i) + 1, 1).PasteSpecial &HFFFFEFF8  '保存合并結(jié)果文件中第i個工作表的行數(shù)  nNewRows(i) = xlNewBook.Sheets(1).UsedRange.Rows.Count  Next  '關(guān)閉打開的源XLS文件  xlSrcBook.Close  '繼續(xù)查找下一個XLS文件  strSrcFile = Dir()  Loop Until Len(strSrcFile) = 0  '保存并關(guān)閉合并結(jié)果文件  xlNewBook.SaveAs strPath & "合并后的文件.xls"  xlNewBook.Close  '退出Excel實例  xlApp.Quit  '釋放資源  Erase nNewRows  Set xlRange = Nothing Set xlSheet = Nothing Set xlNewBook = Nothing Set xlSrcBook = Nothing If Err.Number = 0 Then MergeXlsFile = True End Function

二、VB.NET Excel文件調(diào)用方法:

view plaincopy to clipboardprint?  Sub main()   If MergeXlsFile("c:\temp", 1) Then  MsgBox "數(shù)據(jù)已成功合并!", vbInformation, "提示"  Else  MsgBox "數(shù)據(jù)合并失敗!", vbCritical, "提示"  End If  End Sub

以上是“VB.NET如何使用Excel文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI