VB.NET文件处理解决方案

开发 后端
想知道怎么解决VB.NET文件处理的问题吗?本为就为大家举出一个详细的代码案例,代码复杂粘贴到机器上就可以跑起来,很方便的,快看看吧!

大家遇到过文本文件处理方面的问题吗?我平时工作也常常遇见类似VB.NET文件处理的问题,现在就把我的一点经验给大家分享一下吧!

VB.NET文件处理代码:

  1. '打开csv文件  
  2. PrivateSubbtnFile_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnFile.Click  
  3. DimOpenFileAsOpenFileDialog=NewOpenFileDialog 
  4. OpenFile.Filter="csvFiles(*.csv)|*.xls|AllFiles(*.*)|*.*" 
  5. IfOpenFile.ShowDialog()=DialogResult.OKThen  
  6. txtFile.Text=OpenFile.FileName  
  7. Else  
  8. ExitSub  
  9. EndIf  
  10. EndSub  
  11. '写文件  
  12. PrivateSuboutfile()  
  13. DimSaveFileAsSaveFileDialog=NewSaveFileDialog 
  14. SaveFile.Filter="文本文件(*.txt)|*.txt|AllFiles(*.*)|*.*" 
  15. IfSaveFile.ShowDialog()=DialogResult.OKThen  
  16. 'txtdt.Text=SaveFile.FileName  
  17. DimobjWriterAsNewIO.StreamWriter(SaveFile.FileName,True,System.Text.Encoding.Default)  
  18. objWriter.WriteLine("ANSI")  
  19. objWriter.WriteLine("中文")  
  20. objWriter.Close()  
  21. Else  
  22. ExitSub  
  23. EndIf  
  24. EndSub  
  25. 'ANSI文本处理  
  26. PrivateSubsplit1()  
  27. 'DimobjFileAsSystem.IO.File  
  28. DimobjReaderAsNewIO.StreamReader("D:\MySystem\Desktop\Book1.csv",System.Text.Encoding.Default)  
  29. DimsLineAsString="" 
  30. DimarrTextAsNewArrayList  
  31. Do  
  32. sLine=objReader.ReadLine()  
  33. IfNotsLineIsNothingThen  
  34. arrText.Add(sLine)  
  35. EndIf  
  36. LoopUntilsLineIsNothing  
  37. objReader.Close()  
  38. DimDSAsNewDataSet  
  39. DS.Tables.Add("tab1")  
  40. DS.Tables("tab1").Columns.Add("ID")  
  41. DS.Tables("tab1").Columns.Add("par")  
  42. DS.Tables("tab1").Columns.Add("no")  
  43. DS.Tables("tab1").Columns.Add("name")  
  44. DimfenAsString=",;" 
  45. Dimfen1AsChar()=fen.ToCharArray()  
  46. DimsplitAsString()=Nothing  
  47. DimiAsInteger  
  48. 'ForEachsLineInarrText  
  49. Fori=0ToarrText.Count-1  
  50. sLine=arrText(i)&","  
  51. split=sLine.Split(fen1)  
  52. DimdrAsDataRow=DS.Tables("tab1").NewRow  
  53. dr("ID")=split(0).ToString  
  54. dr("par")=split(1).ToString  
  55. dr("no")=split(2).ToString  
  56. dr("name")=IIf(split(3)="","0",split(3).ToString)  
  57. DS.Tables("tab1").Rows.Add(dr)  
  58. Next  
  59. DataGrid1.DataSource=DS.Tables("tab1")  
  60. EndSub  
  61. '处理数据  
  62. PrivateSubbtnDeal_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnDeal.Click  
  63. IfDS.Tables.Contains("tab2")=FalseThen  
  64. DS.Tables.Add("tab2")  
  65. DS.Tables("tab2").Columns.Add("part")  
  66. DS.Tables("tab2").Columns.Add("pp0")  
  67. DS.Tables("tab2").Columns.Add("pp1")  
  68. DS.Tables("tab2").Columns.Add("yanglao")  
  69. DS.Tables("tab2").Columns.Add("yibao")  
  70. DS.Tables("tab2").Columns.Add("gongji")  
  71. DS.Tables("tab2").Columns.Add("shiye")  
  72. DS.Tables("tab2").Columns.Add("sum0")  
  73. EndIf  
  74. DimdvAsDataView=DS.Tables("tab1").DefaultView  
  75. dv.Sort="part" 
  76. ProgressBar1.Show()  
  77. ProgressBar1.Value=0 
  78. ProgressBar1.Maximum=dv.Count-1  
  79. DimiAsInteger  
  80. Dimdr,dr0AsDataRow  
  81. Fori=0Todv.Count-1  
  82. ProgressBar1.Value=i 
  83. Ifi=0Then 
  84. dr=DS.Tables("tab2").NewRow  
  85. dr("part")=dv(i).Row("part")  
  86. dr("pp0")=dv(i).Row("pp1")  
  87. dr("yanglao")=dv(i).Row("yanglao")  
  88. dr("yibao")=dv(i).Row("yibao")  
  89. dr("gongji")=dv(i).Row("gongji")  
  90. dr("shiye")=dv(i).Row("shiye")  
  91. dr("sum0")=dv(i).Row("sum0")  
  92. dr0=DS.Tables("tab2").NewRow  
  93. dr0("part")="合计"  
  94. dr0("pp0")=0  
  95. dr0("yanglao")=0  
  96. dr0("yibao")=0  
  97. dr0("gongji")=0  
  98. dr0("shiye")=0  
  99. dr0("sum0")=0  
  100. Else  
  101. Ifdr("part")<>dv(i).Row("part")Then  
  102. dr0("pp0")+=dr("pp0")  
  103. dr0("yanglao")+=dr("yanglao")  
  104. dr0("yibao")+=dr("yibao")  
  105. dr0("gongji")+=dr("gongji")  
  106. dr0("shiye")+=dr("shiye")  
  107. dr0("sum0")+=dr("sum0")  
  108. DS.Tables("tab2").Rows.Add(dr)  
  109. dr=DS.Tables("tab2").NewRow  
  110. dr("part")=dv(i).Row("part")  
  111. dr("pp0")=dv(i).Row("pp1")  
  112. dr("yanglao")=dv(i).Row("yanglao")  
  113. dr("yibao")=dv(i).Row("yibao")  
  114. dr("gongji")=dv(i).Row("gongji")  
  115. dr("shiye")=dv(i).Row("shiye")  
  116. dr("sum0")=dv(i).Row("sum0")  
  117. Else  
  118. dr("pp0")+=dv(i).Row("pp1")  
  119. dr("yanglao")+=dv(i).Row("yanglao")  
  120. dr("yibao")+=dv(i).Row("yibao")  
  121. dr("gongji")+=dv(i).Row("gongji")  
  122. dr("shiye")+=dv(i).Row("shiye")  
  123. dr("sum0")+=dv(i).Row("sum0")  
  124. EndIf  
  125. EndIf  
  126. Application.DoEvents()  
  127. Next  
  128. dr0("pp0")+=dr("pp0")  
  129. dr0("yanglao")+=dr("yanglao")  
  130. dr0("yibao")+=dr("yibao")  
  131. dr0("gongji")+=dr("gongji")  
  132. dr0("shiye")+=dr("shiye")  
  133. dr0("sum0")+=dr("sum0")  
  134. DS.Tables("tab2").Rows.Add(dr)  
  135. DS.Tables("tab2").Rows.Add(dr0)  
  136. ProgressBar1.Hide()  
  137. grdMain.CaptionText="结果数据" 
  138. grdMain.DataSource=DS.Tables("tab2")  
  139. grdStyles("tab2")  
  140. MsgBox("数据已处理")  
  141. EndSub 

以上就是VB.NET文件处理问题的解决方案。

【编辑推荐】

  1. 实例讲述VB.NET使用Log4Net
  2. 三分钟学会VB.NET转换形态
  3. VB.NET获取硬盘信息四大法宝
  4. 讲述VB.NET调用Excel的好处
  5. 简单例子概述VB.NET新窗体
责任编辑:田树 来源: 博客
相关推荐

2010-01-22 15:42:01

VB.NET错误

2010-01-18 14:41:33

VB.NET抓取网页

2010-01-07 17:10:01

VB.NET控件数组问

2009-10-23 15:18:54

VB.NET实用教程

2010-01-12 13:54:12

VB.NET MDI子

2009-10-14 16:46:25

VB.NET OnSt

2009-10-28 14:00:02

VB.NET文件处理

2012-05-30 15:40:16

大并发并发解决方案

2009-10-27 11:16:20

VB.NET应用框架

2009-11-10 16:55:05

VB.NET调用API

2010-01-18 17:29:35

VB.NET函数调用

2010-01-14 13:51:03

2010-01-22 18:14:49

VB.NET菜单组件

2009-11-02 12:35:10

VB.NET追加文件

2009-10-27 11:39:03

VB.NET事件处理程

2010-01-21 17:58:40

VB.NET List

2010-01-18 16:58:29

VB.NET Over

2009-10-23 15:35:42

VB.NET实用教程

2010-01-07 16:46:28

VB.NET延时函数

2009-10-29 15:16:02

VB.NET文件传送
点赞
收藏

51CTO技术栈公众号