有读取就有写入。上一篇写了我们使用文件流读取CSV文件,这次我们采用文件流来将数据写入到CSV文件。
实现功能:
将dataGridView中的数据导出到CSV文件
开发环境:
开发工具: Visual Studio 2013
.NET Framework版本:4.5
实现代码:
private void BindData()
{
//初始化DataTable数据
DataTable dts = new DataTable();
dts.Columns.Add("姓名");
dts.Columns.Add("性别");
dts.Columns.Add("年龄");
dts.Rows.Add("张三", "男", 20);
dts.Rows.Add("李四", "女", 21);
dts.Rows.Add("王五", "妖", 22);
//将数据显示到dataGridView1
dataGridView1.DataSource = dts;
}
private void WriteCSV()
{
//获取dataGridView1的数据源
DataTable dt = dataGridView1.DataSource as DataTable;
//文件流写入
System.IO.FileStream fs = new System.IO.FileStream("d:\\1.csv", System.IO.FileMode.OpenOrCreate);
System.IO.StreamWriter sw = new System.IO.StreamWriter(fs, Encoding.GetEncoding("gb2312"));
//将表头写入文件第一行
string dcStr = "";
foreach (DataColumn dc in dt.Columns)
{
dcStr += dc.ColumnName + ",";
}
sw.WriteLine(dcStr);
//将每行数据写入文件
string drStr = "";
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
drStr += dr[dc] + ",";
}
sw.WriteLine(drStr);
drStr = "";
}
//输出缓冲区内的数据
sw.Flush();
//释放流
sw.Close(); fs.Close();
}
实现效果:
由简入繁,拿来即用
更多精彩,请关注微信公众号: