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