上一篇写到了读取文本文件的各种方式,这次我们来读取一下CSV文件;

CSV文件在日常工作中用到的也很多,很多时候我们导出大量表格数据的时候,EXCEL无法存储,CSV就是很不错的选择;

CSV文件其实也是一种文本文件,所以我们也可以用上一篇提到的以文件流的方式去读取。

csv文件用什么打开(c语言如何读取csv文件)(1)

实现功能:

开发环境:

开发工具: 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();

由简入繁,拿来即用