有时候我们写程序会用到表格存储数据,个人觉得数据库更好,需要的可以看看这篇文章:C#操作Sqlite轻量级数据库实现增删改查。当然当别人提供CSV表格数据给我们的时候,学会怎么读取使用也是一门必修课,下面一起来学习下吧,过程十分简单。
最终实现的效果如上图所示,将表格文件内容读取并显示在dataGridView
控件中。
首先准备一个CSV表格文件,很简单,随便找个表格保存为csv文件即可。
然后从vs工具箱中拖入一个dataGridView
控件,并添加一个按钮,在按钮的单击事件中写下如下代码:
复制
DataTable mytable; String myline; String[] Ary; mytable = new DataTable(); mytable.Columns.Add("邮箱", Type.GetType("System.String")); //第一列 mytable.Columns.Add("注册时间", Type.GetType("System.String")); //第二列 mytable.Columns.Add("发送状态", Type.GetType("System.String")); //第二列 Dictionary<String, String> user = new Dictionary<string, string>(); StreamReader myreader = new StreamReader(@"C:\Users\Administrator\Desktop\wp_users.csv", System.Text.Encoding.Default); while ((myline = myreader.ReadLine()) != null) { Ary = myline.Split(new char[] { ',' }); DataRow dr = mytable.NewRow(); for (int i = 0; i < 2; i++) { String value=Ary[i]; dr[i] = value; } mytable.Rows.Add(dr); } dataGridView1.DataSource = mytable;
注意:上面的代码使用到了输入流,所以需要使用using System.IO
,添加动态链接库。
实现原理很简单,其实和读文本文件一样,csv也是一个文本文件,只是使用了符号分割,大家可以使用记事本打开看看。将文件读取到内存中,然后通过流一行一行的读,再对每行数据进行分割,这个就能取到每个单元格的内容了。
取得单元格内容后,就需要使用DataTable这个数据类型来装载数据,最后把数据绑定到dataGridView
控件中即可。
评论 (0)