用一個(gè)streamreader和streamwriter即可

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了海州免費(fèi)建站歡迎大家使用!
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()?'每個(gè)數(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)去時(shí)也要記得加逗號
Next
'寫入
If?linewrite.EndsWith(",")?Then?'去掉行最后一個(gè)逗號。
'如果之前讀到一個(gè)空行,這里就不會執(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
Public Function GetTxtFile(ByVal TxtFn As String) As String()
Dim sr As IO.StreamReader
Dim tmpstr As String
Dim R() As String
Dim Rn As Long
sr = IO.File.OpenText(TxtFn)
tmpstr = sr.ReadLine()
Rn = 0
While Not tmpstr Is Nothing
ReDim Preserve R(Rn)
R(Rn) = tmpstr
tmpstr = sr.ReadLine()
Rn += 1
End While
sr.Close()
Return R
End Function
這是讀取一個(gè)的,然后你取出多個(gè)文件循環(huán)調(diào)用就可以了
本例子在窗體上添加一個(gè)按鈕,一個(gè)空的DataGridView控件;
在按鈕的單擊事件里編寫代碼如下:
'讀取CSV文件到DataGridView控件
Dim?r?As?New?StreamReader("C:\工作簿1.csv",?System.Text.Encoding.Default)?'用StreamReader打開文件
Dim?MyRows(0)?As?String
Dim?d()?As?String
Dim?i?As?Integer?=?-1
Dim?j?As?Integer?=?0
Do?While?r.Peek??-1?'是否到文件尾
i?=?i?+?1
ReDim?Preserve?MyRows(i)
MyRows(i)?=?r.ReadLine??????'從打開的文件中讀取一行內(nèi)容
Loop
r.Close()??????'關(guān)閉對象
'獲得數(shù)據(jù)的列數(shù)
d?=?Split(MyRows(1),?",")
'首先在DataGridView控件中添加列
DataGridView1.ColumnCount?=?UBound(d)?+?1
'然后在DataGridView控件中添加行
DataGridView1.Rows.Add(UBound(MyRows))
'在DataGridView控件中添加數(shù)據(jù)
For?i?=?0?To?UBound(MyRows)
d?=?Split(MyRows(i),?",")
For?j?=?0?To?UBound(d)
DataGridView1.Item(j,?i).Value?=?d(j)
Next
Next
新聞標(biāo)題:vb.net中csv導(dǎo)入,c#寫入csv文件
文章鏈接:http://chinadenli.net/article29/dsgpcjh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、微信公眾號、軟件開發(fā)、電子商務(wù)、移動網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)