你是怎么读写的呢?下面是简单的读写
My.Computer.FileSystem.WriteAllText("C:\1.csv", str, True) '写
代码如下:
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)
Next
oWorkBook.Close()
oWorkBook = Nothing
oExcel.Quit()
oExcel = Nothing
你csv文件是用什么分割符的?
把csv文件当做文本文件处理
File.ReadAllLines 读取所有行,
然后循环每行,按照分隔符split后就是每一列
csv文件可以当做文本文件来处理!
主要处理代码如下:
Dim t As String, b() As stirng, s(10) As String, cj(10) As Single
t = "" '这里是你读取的CSV文件内容
b() = Split(t, vbCrLf)
s(j) = b(j) '这个就是每一行的数据了
c() = Split(s(j), ",")
cj(j) = Val(c(1)) '这个就是每一行的成绩数据了
'然后进行排序和显示处理
用一个streamreader和streamwriter即可
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是以逗号分隔的,我们写进去时也要记得加逗号
'写入
If?linewrite.EndsWith(",")?Then?'去掉行最后一个逗号.
'如果之前读到一个空行,这里就不会执行.你想想为什么
End?If
'如果你之前用If判断了行要不要删除,那么End?If就应该加今天这一节.
End?While
sr1.Close()
End?Using
没怎么用过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;//存储查找的结果 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");}
给你一段VB.net读取csv文件的代码把.
Imports?System.IO
Imports?System.Collections.Generic
Module?Module1
Public?CSV数据?As?List(Of?List(Of?String))
'''?summary
'''?从指定路径的文件读取内容,并分析出其中每行含有分隔符的数据,存到CSV数据中.
'''?/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数据?=?New?List(Of?List(Of?String))
While?Not?文件读取器.EndOfStream
Try
语句?=?文件读取器.ReadLine
'分析语句后判断类型
If?语句.Contains(分隔符)?Then
Dim?array?=?语句.Split(分隔符)
If?array?IsNot?Nothing?Then
CSV数据.Add(array.ToList())
Catch?ex?As?Exception
t成功?=?False
End?Try
Return?t成功
End?Function
End?Module
你上面的数据执行后,将会保存到一个List嵌套List的String组中.
自己转化为数字再进行操作把.
以上就是土嘎嘎小编为大家整理的vb.net读写csv相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!