让代码更简单

C#简单读取CSV表格内容

重要:本文最后更新于2019-10-10 08:46:46,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

有时候我们写程序会用到表格存储数据,个人觉得数据库更好,需要的可以看看这篇文章:C#操作Sqlite轻量级数据库实现增删改查。当然当别人提供CSV表格数据给我们的时候,学会怎么读取使用也是一门必修课,下面一起来学习下吧,过程十分简单。

C#简单读取CSV表格内容

C#简单读取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控件中即可。

感觉很棒!可以赞赏支持我哟~

4 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐