重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用一个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表示读取结束了
'读取
Dim lineread As String = "" '等下要读的行
Dim linewrite As String = "" '等下要写入的行
Dim data As String() '每个数据的数组
lineread = sr1.ReadLine '读一行并把流的位置往后调一行
'你现在可以用If判断这一行要不要删除。如果要的话,用Else直接跳过下面的语句即可。
data = lineread.Split(",".ToCharArray, StringSplitOptions.RemoveEmptyEntries) '读取一行,用逗号分隔后存在数组里
'下面对读取到的数据进行处理,你可以自己处理它
For Each item As String In data
linewrite = item "," 'csv是以逗号分隔的,我们写进去时也要记得加逗号
Next
'写入
If linewrite.EndsWith(",") Then '去掉行最后一个逗号。
'如果之前读到一个空行,这里就不会执行。你想想为什么
sr2.WriteLine(linewrite.Remove(linewrite.Length - 1, 1))
End If
'如果你之前用If判断了行要不要删除,那么End If就应该加在这里。
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
这是读取一个的,然后你取出多个文件循环调用就可以了
本例子在窗体上添加一个按钮,一个空的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 '从打开的文件中读取一行内容
Loop
r.Close() '关闭对象
'获得数据的列数
d = Split(MyRows(1), ",")
'首先在DataGridView控件中添加列
DataGridView1.ColumnCount = UBound(d) + 1
'然后在DataGridView控件中添加行
DataGridView1.Rows.Add(UBound(MyRows))
'在DataGridView控件中添加数据
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