分享

C# 读取CSV文件

 Csharp小记 2023-10-29 发布于江苏

 上一篇写到了读取文本文件的各种方式,这次我们来读取一下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();

由简入繁,拿来即用

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约