偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

讓你熟練掌握VB.NET Excel文件運(yùn)用

開發(fā) 后端
這里為你介紹一個(gè)簡(jiǎn)單而實(shí)用的合并VB.NET Excel文件的函數(shù),能夠?qū)⒍鄠€(gè)XLS文件中指定數(shù)量的工作表自動(dòng)合并到一個(gè)XLS文件里。

這個(gè)是我在工作中編寫的代碼中的一個(gè)小篇章,拿出來(lái)和大家分享一下,一個(gè)簡(jiǎn)單而實(shí)用的合并VB.NET Excel文件的函數(shù),能夠?qū)⒍鄠€(gè)XLS文件中指定數(shù)量的工作表自動(dòng)合并到一個(gè)XLS文件里。當(dāng)然,如果只是數(shù)據(jù)合并,則使用ADO就可以實(shí)現(xiàn),但如果要保留表格格式,則恐怕只能使用俺的方法了。

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

  1. view plaincopy to clipboardprint?  
  2. Option Explicit   
  3. Public Function MergeXlsFile(ByVal strPath As String, Optional ByVal SheetCount As Byte = 1) As Boolean  
  4. Dim i As Integer  
  5. Dim strSrcFile As String  
  6. Dim nRows As Long, nCols As Long, nSheets As Byte, nNewRows() As Integer  
  7. Dim xlApp As Object, xlSrcBook As Object, xlNewBook As Object, xlSheet As Object, xlRange As Object  
  8. On Error Resume Next  
  9. If Right(strPath, 1) <> "\" Then strPathstrPath = strPath & "\"   
  10. '如果需要合并文件中的工作表數(shù)量小于1則退出   
  11. If SheetCount < 1 Then Exit Function  
  12. '刪除掉該路徑下原來(lái)的合并文件   
  13. If Dir(strPath & "合并后的文件.xls") <> "" Then Kill strPath & "合并后的文件.xls"  
  14. '獲得第1個(gè)XLS文件   
  15. strSrcFile = Dir(strPath & "*.xls")   
  16. '如果文件不存在則退出   
  17. If Len(strSrcFile) = 0 Then Exit Function  
  18. '創(chuàng)建一個(gè)Excel實(shí)例   
  19. Set xlApp = CreateObject("Excel.Application")   
  20. '新建一個(gè)工作簿   
  21. Set xlNewBook = xlApp.Workbooks.Add   
  22. '調(diào)整新建工作簿里工作表的數(shù)量   
  23. ReDim nNewRows(1 To SheetCount)   
  24. For i = 1 To SheetCount - xlNewBook.Sheets.Count   
  25. xlNewBook.Sheets.Add , xlNewBook.Sheets(xlNewBook.Sheets.Count)   
  26. Next  
  27. '循環(huán)查找當(dāng)前路徑下的所有XLS文件   
  28. Do  
  29. '打開找到的XLS文件   
  30. Set xlSrcBook = xlApp.Workbooks.Open(strPath & strSrcFile)   
  31. '循環(huán)復(fù)制源XLS文件里的工作表   
  32. nSheets = IIf(xlSrcBook.Sheets.Count < SheetCount, xlSrcBook.Sheets.Count, SheetCount)   
  33. For i = 1 To nSheets   
  34. Set xlSheet = xlSrcBook.Sheets(i)   
  35. '獲得源XLS文件中第i個(gè)工作表實(shí)際數(shù)據(jù)的行列數(shù)   
  36. nRows = xlSheet.UsedRange.Rows.Count   
  37. nCols = xlSheet.UsedRange.Columns.Count   
  38. '使用范圍對(duì)象粘貼源XLS文件數(shù)據(jù)到合并結(jié)果文件中   
  39. Set xlRange = xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(nRows, nCols))   
  40. xlRange.Select  
  41. xlRange.Copy   
  42. xlNewBook.Sheets(i).Cells(nNewRows(i) + 1, 1).PasteSpecial &HFFFFEFF8   
  43. '保存合并結(jié)果文件中第i個(gè)工作表的行數(shù)   
  44. nNewRows(i) = xlNewBook.Sheets(1).UsedRange.Rows.Count   
  45. Next  
  46. '關(guān)閉打開的源XLS文件   
  47. xlSrcBook.Close   
  48. '繼續(xù)查找下一個(gè)XLS文件   
  49. strSrcFile = Dir()   
  50. Loop Until Len(strSrcFile) = 0   
  51. '保存并關(guān)閉合并結(jié)果文件   
  52. xlNewBook.SaveAs strPath & "合并后的文件.xls"  
  53. xlNewBook.Close   
  54. '退出Excel實(shí)例   
  55. xlApp.Quit   
  56. '釋放資源   
  57. Erase nNewRows   
  58. Set xlRange = Nothing 
  59. Set xlSheet = Nothing 
  60. Set xlNewBook = Nothing 
  61. Set xlSrcBook = Nothing 
  62. If Err.Number = 0 Then MergeXlsFile = True 
  63. End Function  
  64. Option Explicit  
  65.  
  66. Public Function MergeXlsFile(ByVal strPath As String, Optional ByVal SheetCount As Byte = 1) As Boolean  
  67. Dim i As Integer  
  68. Dim strSrcFile As String  
  69. Dim nRows As Long, nCols As Long, nSheets As Byte, nNewRows() As Integer  
  70. Dim xlApp As Object, xlSrcBook As Object, xlNewBook As Object, xlSheet As Object, xlRange As Object  
  71.  
  72. On Error Resume Next  
  73. If Right(strPath, 1) <> "\" Then strPathstrPath = strPath & "\"  
  74. '如果需要合并文件中的工作表數(shù)量小于1則退出  
  75. If SheetCount < 1 Then Exit Function  
  76. '刪除掉該路徑下原來(lái)的合并文件  
  77. If Dir(strPath & "合并后的文件.xls") <> "" Then Kill strPath & "合并后的文件.xls"  
  78. '獲得第1個(gè)XLS文件  
  79. strSrcFile = Dir(strPath & "*.xls")  
  80. '如果文件不存在則退出  
  81. If Len(strSrcFile) = 0 Then Exit Function  
  82. '創(chuàng)建一個(gè)Excel實(shí)例  
  83. Set xlApp = CreateObject("Excel.Application")  
  84. '新建一個(gè)工作簿  
  85. Set xlNewBook = xlApp.Workbooks.Add  
  86. '調(diào)整新建工作簿里工作表的數(shù)量  
  87. ReDim nNewRows(1 To SheetCount)  
  88. For i = 1 To SheetCount - xlNewBook.Sheets.Count  
  89. xlNewBook.Sheets.Add , xlNewBook.Sheets(xlNewBook.Sheets.Count)  
  90. Next  
  91. '循環(huán)查找當(dāng)前路徑下的所有XLS文件  
  92. Do  
  93. '打開找到的XLS文件  
  94. Set xlSrcBook = xlApp.Workbooks.Open(strPath & strSrcFile)  
  95. '循環(huán)復(fù)制源XLS文件里的工作表  
  96. nSheets = IIf(xlSrcBook.Sheets.Count < SheetCount, xlSrcBook.Sheets.Count, SheetCount)  
  97. For i = 1 To nSheets  
  98. Set xlSheet = xlSrcBook.Sheets(i)  
  99. '獲得源XLS文件中第i個(gè)工作表實(shí)際數(shù)據(jù)的行列數(shù)  
  100. nRows = xlSheet.UsedRange.Rows.Count  
  101. nCols = xlSheet.UsedRange.Columns.Count  
  102. '使用范圍對(duì)象粘貼源XLS文件數(shù)據(jù)到合并結(jié)果文件中  
  103. Set xlRange = xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(nRows, nCols))  
  104. xlRange.Select  
  105. xlRange.Copy  
  106. xlNewBook.Sheets(i).Cells(nNewRows(i) + 1, 1).PasteSpecial &HFFFFEFF8  
  107. '保存合并結(jié)果文件中第i個(gè)工作表的行數(shù)  
  108. nNewRows(i) = xlNewBook.Sheets(1).UsedRange.Rows.Count  
  109. Next  
  110. '關(guān)閉打開的源XLS文件  
  111. xlSrcBook.Close  
  112. '繼續(xù)查找下一個(gè)XLS文件  
  113. strSrcFile = Dir()  
  114. Loop Until Len(strSrcFile) = 0  
  115. '保存并關(guān)閉合并結(jié)果文件  
  116. xlNewBook.SaveAs strPath & "合并后的文件.xls"  
  117. xlNewBook.Close  
  118. '退出Excel實(shí)例  
  119. xlApp.Quit  
  120. '釋放資源  
  121. Erase nNewRows  
  122. Set xlRange = Nothing 
  123. Set xlSheet = Nothing 
  124. Set xlNewBook = Nothing 
  125. Set xlSrcBook = Nothing 
  126. If Err.Number = 0 Then MergeXlsFile = True 
  127. End Function   

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

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

【編輯推薦】

  1. 詳細(xì)分析VB.NET WithEvents
  2. 淺析VB.NET局部靜態(tài)變量
  3. 原理分析VB.NET開發(fā)控件
  4. 自己動(dòng)手用代碼實(shí)現(xiàn)VB.NET ListView加載數(shù)據(jù)
  5. 詳細(xì)介紹VB.NET MyClass
責(zé)任編輯:田樹 來(lái)源: 博客
相關(guān)推薦

2009-11-02 10:30:37

VB.NET EXCE

2009-10-29 17:15:26

VB.NET控件

2010-01-11 14:28:14

VB.NET操作Exc

2009-11-02 10:42:04

VB.NET EXCE

2009-11-03 10:09:48

VB.NET對(duì)象

2009-11-03 13:54:55

VB.NET繼承

2009-11-02 11:02:58

VB.NET XML文

2009-10-29 16:29:02

VB.NET文件系統(tǒng)對(duì)

2009-10-28 15:01:59

VB.NET SHEL

2009-11-02 17:24:57

VB.NET語(yǔ)言

2009-11-10 16:27:45

VB.NET指針

2019-07-11 10:45:34

MQ中間件 API

2010-01-14 10:07:08

VB.NET文件名排序

2009-10-16 13:26:53

VB.NET Exce

2021-01-16 11:44:46

編程語(yǔ)言開發(fā)

2009-10-29 09:06:26

VB.NET Web

2009-11-03 09:37:33

VB.NET重載

2020-01-09 08:26:16

代碼JS開發(fā)

2009-12-04 08:53:49

TechNet雜志

2010-01-12 10:19:02

VB.NET操作GDI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)