CSV文件特征是每行一條記錄,字段用逗號分開。你只需要逐行處理,將每行文本用逗號切分得到數(shù)組array,然后判斷array[0]是否等于"bbb",如果相等則array[1]就是”4561234567890“;如果不等則繼續(xù)處理下一行。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比峨眉山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式峨眉山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋峨眉山地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
沒怎么用過VB,下面給出C#代碼:
string FindString(string filename, string title){ FileStream stream = null; try { stream = File.OpenRead(filename); StreamReader reader = new StreamReader(stream, Encoding.Default);
string result = null;//存儲查找的結(jié)果 while (!reader.EndOfStream) { //讀取一行 string strLine = reader.ReadLine(); string[] array = strLine.Split(','); if (array == null || array.Length 1)//該行無效 continue; if (string.Compare(array[0], title, false) == 0) {//找到了 return array[1]; } } } catch (Exception ex) { //出錯了 return null; } finally { if (stream != null) stream.Close(); }
//到這里說明沒找到 return null;}void Test(){ string result = FindString(@"C:\demo.csv", "bbb");}
代碼如下:
Dim Str As String
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
Str = OpenFileDialog1.FileName
End If
Dim oExcel As New Excel.Application
Dim oWorkBook As Excel.Workbook
Dim oWorkSheet As Excel.Worksheet
oWorkBook = oExcel.Workbooks.Open(Str)
oWorkSheet = oWorkBook.Worksheets(1)
For i = 1 To 50 這里我暫時讀取了50行,因?yàn)槲也恢廊绾闻袛嘧x到最后一行
MsgBox(oWorkSheet.Cells(i, 1).value oWorkSheet.Cells(i, 2).value oWorkSheet.Cells(i, 3).value)
Next
oWorkBook.Close()
oWorkBook = Nothing
oExcel.Quit()
oExcel = Nothing
你csv文件是用什么分割符的?
把csv文件當(dāng)做文本文件處理
File.ReadAllLines 讀取所有行,
然后循環(huán)每行,按照分隔符split后就是每一列
用一個streamreader和streamwriter即可
Using?sr2?As?New?StreamWriter("2.csv",?False,?Text.Encoding.Default)?'要寫入的文件
Using?sr1?As?New?StreamReader("1.csv",?Text.Encoding.Default)?'要讀取的文件
While?Not?sr1.EndOfStream?'EndOfStream=True表示讀取結(jié)束了
'讀取
Dim?lineread?As?String?=?""?'等下要讀的行
Dim?linewrite?As?String?=?""?'等下要寫入的行
Dim?data?As?String()?'每個數(shù)據(jù)的數(shù)組
lineread?=?sr1.ReadLine?'讀一行并把流的位置往后調(diào)一行
'你現(xiàn)在可以用If判斷這一行要不要刪除。如果要的話,用Else直接跳過下面的語句即可。
data?=?lineread.Split(",".ToCharArray,?StringSplitOptions.RemoveEmptyEntries)?'讀取一行,用逗號分隔后存在數(shù)組里
'下面對讀取到的數(shù)據(jù)進(jìn)行處理,你可以自己處理它
For?Each?item?As?String?In?data
linewrite?=?item??","?'csv是以逗號分隔的,我們寫進(jìn)去時也要記得加逗號
Next
'寫入
If?linewrite.EndsWith(",")?Then?'去掉行最后一個逗號。
'如果之前讀到一個空行,這里就不會執(zhí)行。你想想為什么
sr2.WriteLine(linewrite.Remove(linewrite.Length?-?1,?1))
End?If
'如果你之前用If判斷了行要不要刪除,那么End?If就應(yīng)該加在這里。
End?While
sr1.Close()
End?Using
sr2.Flush()
sr2.Close()
End?Using
給你一段VB.net讀取csv文件的代碼把。
Imports?System.IO
Imports?System.Collections.Generic
Module?Module1
Public?CSV數(shù)據(jù)?As?List(Of?List(Of?String))
'''?summary
'''?從指定路徑的文件讀取內(nèi)容,并分析出其中每行含有分隔符的數(shù)據(jù),存到CSV數(shù)據(jù)中。
'''?para調(diào)用的時候使用CSV數(shù)據(jù)(5)(0)表示第6條記錄的第1個數(shù)據(jù)/para
'''?/summary
'''?param?name="文件路徑"必需。一個[String]表達(dá)式。要讀取的文件路徑。/param
'''?returns返回是否讀取成功/returns
'''?remarks/remarks
Public?Function?讀取(ByVal?文件路徑?As?String)?As?Boolean
Dim?文件讀取器?As?StreamReader?=?New?StreamReader(文件路徑)
Dim?語句?As?String
Dim?t成功?As?Boolean?=?True
Dim?分隔符?As?Char?=?";"
CSV數(shù)據(jù)?=?New?List(Of?List(Of?String))
While?Not?文件讀取器.EndOfStream
Try
語句?=?文件讀取器.ReadLine
'分析語句后判斷類型
If?語句.Contains(分隔符)?Then
Dim?array?=?語句.Split(分隔符)
If?array?IsNot?Nothing?Then
CSV數(shù)據(jù).Add(array.ToList())
End?If
End?If
Catch?ex?As?Exception
t成功?=?False
End?Try
End?While
Return?t成功
End?Function
End?Module
你上面的數(shù)據(jù)執(zhí)行后,將會保存到一個List嵌套List的String組中。
自己轉(zhuǎn)化為數(shù)字再進(jìn)行操作把。
Dim?數(shù)字?=?Convert.ToDecimal(CSV數(shù)據(jù)(5)(0))
你是怎么讀寫的呢?下面是簡單的讀寫
Dim str As String = (My.Computer.FileSystem.ReadAllText("C:\QD51-R24_A.csv")) '讀
My.Computer.FileSystem.WriteAllText("C:\1.csv", str, True) '寫
文章名稱:vb.net讀csv VBNET有什么用
網(wǎng)址分享:http://chinadenli.net/article40/hijheo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、用戶體驗(yàn)、外貿(mào)建站、搜索引擎優(yōu)化、小程序開發(fā)、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)