用一個streamreader和streamwriter即可
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計、網(wǎng)站制作、晉安網(wǎng)絡(luò)推廣、微信小程序開發(fā)、晉安網(wǎng)絡(luò)營銷、晉安企業(yè)策劃、晉安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供晉安建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:muchs.cn
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ù)進行處理,你可以自己處理它
For?Each?item?As?String?In?data
linewrite?=?item??","?'csv是以逗號分隔的,我們寫進去時也要記得加逗號
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
CSV文件,在EXCEL里可以直接生成與讀取。
可以通過VB.net去操作,打開EXCEL文件,去完成上述操作,而更為簡單的辦法是直接當(dāng)做操作文本文件(TXT文件)就可以,因為用記事本軟件,打開CSV文可以發(fā)現(xiàn),其實際上是一個行內(nèi)數(shù)據(jù)之間用逗號分隔的格式文件。
下面給出例子:
在窗體上添加兩個多行文本框,兩個按鈕,兩個文本框一個用來輸入生成CSV文件的數(shù)據(jù),另一個用來讀取顯示CSV文件的數(shù)據(jù);兩個按鈕,一個完成生成CSV文件的代碼,另一個完成讀取CSV文件的代碼;具體代碼如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'創(chuàng)建(寫入)一個文本文件
Dim MyStream As New System.IO.FileStream(Application.StartupPath "\Ssk.CSV", System.IO.FileMode.Create)
Dim MyWriter As New System.IO.StreamWriter(MyStream, System.Text.Encoding.Default)
MyWriter.WriteLine(TextBox1.Text)
MyWriter.Flush()
MyWriter.Close()
MyStream.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'讀取一個文本文件
Dim MyReader As New System.IO.StreamReader(Application.StartupPath "\Ssk.CSV", System.Text.Encoding.UTF8)
TextBox2.Text = MyReader.ReadToEnd()
MyReader.Close()
End Sub
注意:在輸入文本框里,同一行數(shù)據(jù)的數(shù)據(jù)之間用逗號(西文逗號)分隔。
你是怎么讀寫的呢?下面是簡單的讀寫
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文件的代碼把。
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]表達式。要讀取的文件路徑。/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ù)字再進行操作把。
Dim?數(shù)字?=?Convert.ToDecimal(CSV數(shù)據(jù)(5)(0))
文章題目:vb.net讀寫csv vba 讀取csv
網(wǎng)站鏈接:http://muchs.cn/article10/doeosdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、域名注冊、做網(wǎng)站、關(guān)鍵詞優(yōu)化、網(wǎng)站改版、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)