新聞中心
vb.net 怎么生成csv文件與怎么讀取csv文件
CSV文件,在EXCEL里可以直接生成與讀取。
創(chuàng)新互聯(lián)公司主營郾城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),郾城h5微信平臺(tái)小程序開發(fā)搭建,郾城網(wǎng)站營銷推廣歡迎郾城等地區(qū)企業(yè)咨詢
可以通過VB.net去操作,打開EXCEL文件,去完成上述操作,而更為簡單的辦法是直接當(dāng)做操作文本文件(TXT文件)就可以,因?yàn)橛糜浭卤拒浖?,打開CSV文可以發(fā)現(xiàn),其實(shí)際上是一個(gè)行內(nèi)數(shù)據(jù)之間用逗號(hào)分隔的格式文件。
下面給出例子:
在窗體上添加兩個(gè)多行文本框,兩個(gè)按鈕,兩個(gè)文本框一個(gè)用來輸入生成CSV文件的數(shù)據(jù),另一個(gè)用來讀取顯示CSV文件的數(shù)據(jù);兩個(gè)按鈕,一個(gè)完成生成CSV文件的代碼,另一個(gè)完成讀取CSV文件的代碼;具體代碼如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'創(chuàng)建(寫入)一個(gè)文本文件
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
'讀取一個(gè)文本文件
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ù)之間用逗號(hào)(西文逗號(hào))分隔。
VB.NET 讀取CSV文件到datatable中后,數(shù)據(jù)被重新排序了,請大神幫忙看看哪里有問題
首先,在填充后的datatable處設(shè)置一個(gè)斷點(diǎn),查看datatable中的數(shù)據(jù)是什么樣的,判斷是讀取出了問題還是綁定到datagridview時(shí)候出的問題。然后補(bǔ)充問題告訴我datatable中的數(shù)據(jù)是什么樣的
vb.net 操作CSV問題 求大神 急
用一個(gè)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()?'每個(gè)數(shù)據(jù)的數(shù)組
lineread?=?sr1.ReadLine?'讀一行并把流的位置往后調(diào)一行
'你現(xiàn)在可以用If判斷這一行要不要?jiǎng)h除。如果要的話,用Else直接跳過下面的語句即可。
data?=?lineread.Split(",".ToCharArray,?StringSplitOptions.RemoveEmptyEntries)?'讀取一行,用逗號(hào)分隔后存在數(shù)組里
'下面對讀取到的數(shù)據(jù)進(jìn)行處理,你可以自己處理它
For?Each?item?As?String?In?data
linewrite?=?item??","?'csv是以逗號(hào)分隔的,我們寫進(jìn)去時(shí)也要記得加逗號(hào)
Next
'寫入
If?linewrite.EndsWith(",")?Then?'去掉行最后一個(gè)逗號(hào)。
'如果之前讀到一個(gè)空行,這里就不會(huì)執(zhí)行。你想想為什么
sr2.WriteLine(linewrite.Remove(linewrite.Length?-?1,?1))
End?If
'如果你之前用If判斷了行要不要?jiǎng)h除,那么End?If就應(yīng)該加在這里。
End?While
sr1.Close()
End?Using
sr2.Flush()
sr2.Close()
End?Using
當(dāng)前題目:VB.net排序csv vb排序函數(shù)
網(wǎng)頁地址:http://fisionsoft.com.cn/article/doohois.html