上一篇写到了读取文本文件的各种方式,这次我们来读取一下CSV文件;
CSV文件在日常工作中用到的也很多,很多时候我们导出大量表格数据的时候,EXCEL无法存储,CSV就是很不错的选择;
CSV文件其实也是一种文本文件,所以我们也可以用上一篇提到的以文件流的方式去读取。
实现功能:
- 读取CSV文件并将结果展示到dataGridView
开发环境:
开发工具:VisualStudio2013
.NETFramework版本:4.5
具体实现代码如下:
//实例化一个datatable用来存储数据DataTabledt=newDataTable();//文件流读取System.IO.FileStreamfs=newSystem.IO.FileStream("d:\\1.csv",System.IO.FileMode.Open);System.IO.StreamReadersr=newSystem.IO.StreamReader(fs,Encoding.GetEncoding("gb2312"));stringtempText="";boolisFirst=true;while((tempText=sr.ReadLine())!=null){string[]arr=tempText.Split(newchar[]{','},StringSplitOptions.RemoveEmptyEntries);//一般第一行为标题,所以取出来作为标头if(isFirst){foreach(stringstrinarr){dt.Columns.Add(str);}isFirst=false;}else{//从第二行开始添加到datatable数据行DataRowdr=dt.NewRow();for(inti=0;i<dt.Columns.Count;i){dr[i]=i<arr.Length?arr[i]:"";}dt.Rows.Add(dr);}}//展示到页面dataGridView1.DataSource=dt;//关闭流sr.Close();fs.Close();
由简入繁,拿来即用