VB.NET文件處理解決方案
作者:佚名
想知道怎么解決VB.NET文件處理的問題嗎?本為就為大家舉出一個詳細(xì)的代碼案例,代碼復(fù)雜粘貼到機器上就可以跑起來,很方便的,快看看吧!
大家遇到過文本文件處理方面的問題嗎?我平時工作也常常遇見類似VB.NET文件處理的問題,現(xiàn)在就把我的一點經(jīng)驗給大家分享一下吧!
VB.NET文件處理代碼:
- '打開csv文件
- PrivateSubbtnFile_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnFile.Click
- DimOpenFileAsOpenFileDialog=NewOpenFileDialog
- OpenFile.Filter="csvFiles(*.csv)|*.xls|AllFiles(*.*)|*.*"
- IfOpenFile.ShowDialog()=DialogResult.OKThen
- txtFile.Text=OpenFile.FileName
- Else
- ExitSub
- EndIf
- EndSub
- '寫文件
- PrivateSuboutfile()
- DimSaveFileAsSaveFileDialog=NewSaveFileDialog
- SaveFile.Filter="文本文件(*.txt)|*.txt|AllFiles(*.*)|*.*"
- IfSaveFile.ShowDialog()=DialogResult.OKThen
- 'txtdt.Text=SaveFile.FileName
- DimobjWriterAsNewIO.StreamWriter(SaveFile.FileName,True,System.Text.Encoding.Default)
- objWriter.WriteLine("ANSI")
- objWriter.WriteLine("中文")
- objWriter.Close()
- Else
- ExitSub
- EndIf
- EndSub
- 'ANSI文本處理
- PrivateSubsplit1()
- 'DimobjFileAsSystem.IO.File
- DimobjReaderAsNewIO.StreamReader("D:\MySystem\Desktop\Book1.csv",System.Text.Encoding.Default)
- DimsLineAsString=""
- DimarrTextAsNewArrayList
- Do
- sLine=objReader.ReadLine()
- IfNotsLineIsNothingThen
- arrText.Add(sLine)
- EndIf
- LoopUntilsLineIsNothing
- objReader.Close()
- DimDSAsNewDataSet
- DS.Tables.Add("tab1")
- DS.Tables("tab1").Columns.Add("ID")
- DS.Tables("tab1").Columns.Add("par")
- DS.Tables("tab1").Columns.Add("no")
- DS.Tables("tab1").Columns.Add("name")
- DimfenAsString=",;"
- Dimfen1AsChar()=fen.ToCharArray()
- DimsplitAsString()=Nothing
- DimiAsInteger
- 'ForEachsLineInarrText
- Fori=0ToarrText.Count-1
- sLine=arrText(i)&","
- split=sLine.Split(fen1)
- DimdrAsDataRow=DS.Tables("tab1").NewRow
- dr("ID")=split(0).ToString
- dr("par")=split(1).ToString
- dr("no")=split(2).ToString
- dr("name")=IIf(split(3)="","0",split(3).ToString)
- DS.Tables("tab1").Rows.Add(dr)
- Next
- DataGrid1.DataSource=DS.Tables("tab1")
- EndSub
- '處理數(shù)據(jù)
- PrivateSubbtnDeal_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnDeal.Click
- IfDS.Tables.Contains("tab2")=FalseThen
- DS.Tables.Add("tab2")
- DS.Tables("tab2").Columns.Add("part")
- DS.Tables("tab2").Columns.Add("pp0")
- DS.Tables("tab2").Columns.Add("pp1")
- DS.Tables("tab2").Columns.Add("yanglao")
- DS.Tables("tab2").Columns.Add("yibao")
- DS.Tables("tab2").Columns.Add("gongji")
- DS.Tables("tab2").Columns.Add("shiye")
- DS.Tables("tab2").Columns.Add("sum0")
- EndIf
- DimdvAsDataView=DS.Tables("tab1").DefaultView
- dv.Sort="part"
- ProgressBar1.Show()
- ProgressBar1.Value=0
- ProgressBar1.Maximum=dv.Count-1
- DimiAsInteger
- Dimdr,dr0AsDataRow
- Fori=0Todv.Count-1
- ProgressBar1.Value=i
- Ifi=0Then
- dr=DS.Tables("tab2").NewRow
- dr("part")=dv(i).Row("part")
- dr("pp0")=dv(i).Row("pp1")
- dr("yanglao")=dv(i).Row("yanglao")
- dr("yibao")=dv(i).Row("yibao")
- dr("gongji")=dv(i).Row("gongji")
- dr("shiye")=dv(i).Row("shiye")
- dr("sum0")=dv(i).Row("sum0")
- dr0=DS.Tables("tab2").NewRow
- dr0("part")="合計"
- dr0("pp0")=0
- dr0("yanglao")=0
- dr0("yibao")=0
- dr0("gongji")=0
- dr0("shiye")=0
- dr0("sum0")=0
- Else
- Ifdr("part")<>dv(i).Row("part")Then
- dr0("pp0")+=dr("pp0")
- dr0("yanglao")+=dr("yanglao")
- dr0("yibao")+=dr("yibao")
- dr0("gongji")+=dr("gongji")
- dr0("shiye")+=dr("shiye")
- dr0("sum0")+=dr("sum0")
- DS.Tables("tab2").Rows.Add(dr)
- dr=DS.Tables("tab2").NewRow
- dr("part")=dv(i).Row("part")
- dr("pp0")=dv(i).Row("pp1")
- dr("yanglao")=dv(i).Row("yanglao")
- dr("yibao")=dv(i).Row("yibao")
- dr("gongji")=dv(i).Row("gongji")
- dr("shiye")=dv(i).Row("shiye")
- dr("sum0")=dv(i).Row("sum0")
- Else
- dr("pp0")+=dv(i).Row("pp1")
- dr("yanglao")+=dv(i).Row("yanglao")
- dr("yibao")+=dv(i).Row("yibao")
- dr("gongji")+=dv(i).Row("gongji")
- dr("shiye")+=dv(i).Row("shiye")
- dr("sum0")+=dv(i).Row("sum0")
- EndIf
- EndIf
- Application.DoEvents()
- Next
- dr0("pp0")+=dr("pp0")
- dr0("yanglao")+=dr("yanglao")
- dr0("yibao")+=dr("yibao")
- dr0("gongji")+=dr("gongji")
- dr0("shiye")+=dr("shiye")
- dr0("sum0")+=dr("sum0")
- DS.Tables("tab2").Rows.Add(dr)
- DS.Tables("tab2").Rows.Add(dr0)
- ProgressBar1.Hide()
- grdMain.CaptionText="結(jié)果數(shù)據(jù)"
- grdMain.DataSource=DS.Tables("tab2")
- grdStyles("tab2")
- MsgBox("數(shù)據(jù)已處理")
- EndSub
以上就是VB.NET文件處理問題的解決方案。
【編輯推薦】
責(zé)任編輯:田樹
來源:
博客