有读取就有写入。上一篇写了我们使用文件流读取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(); }
|