当前位置: 首页 > news >正文

在 C# 中将 DataGridView 数据导出为 CSV

        在此代码示例中,我们将学习如何使用 C# 代码将 DataGridView 数据导出到 CSV 文件并将其保存在文件夹中。
 
        在这个程序中,首先,我们必须连接到数据库并从中获取数据。然后,我们将在数据网格视图中显示该数据,如下图所示。

让我们转到页面加载事件,获取员工数据,并绑定数据 GridView。

private void FrmExport_Load(object sender, EventArgs e)  
{  
    SqlConnection sqlCon;  
    string conString = null;  
    string sqlQuery = null;  
  
    conString = "Data Source=.;Initial Catalog=DemoTest;Integrated Security=SSPI;";  
    sqlCon = new SqlConnection(conString);  
    sqlCon.Open();  
    sqlQuery = "SELECT * FROM tblEmployee";  
    SqlDataAdapter dscmd = new SqlDataAdapter(sqlQuery, sqlCon);  
    DataTable dtData = new DataTable();  
    dscmd.Fill(dtData);  
    dataGridView1.DataSource = dtData;  

然后,在按钮单击事件处理程序上,编写以下代码。

private void btnCsv_Click(object sender, EventArgs e)  
{  
    if (dataGridView1.Rows.Count > 0)  
    {  
        SaveFileDialog sfd = new SaveFileDialog();  
        sfd.Filter = "CSV (*.csv)|*.csv";  
        sfd.FileName = "Output.csv";  
        bool fileError = false;  
        if (sfd.ShowDialog() == DialogResult.OK)  
        {  
            if (File.Exists(sfd.FileName))  
            {  
                try  
                {  
                    File.Delete(sfd.FileName);  
                }  
                catch (IOException ex)  
                {  
                    fileError = true;  
                    MessageBox.Show("It wasn't possible to write the data to the disk." + ex.Message);  
                }  
            }  
            if (!fileError)  
            {  
                try  
                {  
                    int columnCount = dataGridView1.Columns.Count;  
                    string columnNames = "";  
                    string[] outputCsv = new string[dataGridView1.Rows.Count + 1];  
                    for (int i = 0; i < columnCount; i++)  
                    {  
                        columnNames += dataGridView1.Columns[i].HeaderText.ToString() + ",";  
                    }  
                    outputCsv[0] += columnNames;  
                              
                    for (int i = 1; (i - 1) < dataGridView1.Rows.Count; i++)  
                    {  
                        for (int j = 0; j < columnCount; j++)  
                        {  
                            outputCsv[i] += dataGridView1.Rows[i - 1].Cells[j].Value.ToString() + ",";  
                        }  
                    }  
  
                    File.WriteAllLines(sfd.FileName, outputCsv, Encoding.UTF8);  
                    MessageBox.Show("Data Exported Successfully !!!", "Info");  
                }  
                catch(Exception ex)  
                {  
                    MessageBox.Show("Error :" + ex.Message);  
                }  
            }  
        }  
    }  
    else  
    {  
        MessageBox.Show("No Record To Export !!!", "Info");  
    }  

        现在,运行应用程序。点击“导出为 CSV”按钮时,它会询问文件保存位置。输入文件名,然后点击“确定”。它会生成一个 CSV 文件。

希望这段代码能帮助到所有读者。祝您编码愉快!

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

相关文章:

  • ROS资料推荐学习
  • xss-labs靶场第11-14关基础详解
  • Microsoft Azure 服务4月更新告示
  • handsome主题美化及优化:10.1.0最新版 - 1
  • 网站运维基础 | 2. cms介绍及wordpress的搭建
  • 大模型——Crawl4AI使用JsonCssExtractionStrategy进行结构化数据提取
  • 真题卷001——算法备赛
  • PCIeSwitch 学习
  • MySQL的触发器
  • 本土DevOps革命:Gitee如何撬动中国企业的数字化转型新动能
  • 哈希表的实现02
  • 【C++/Qt shared_ptr 与 线程池】合作使用案例
  • 非受控组件在React中的使用场景有哪些?
  • node.js文件系统(fs) - 创建文件、打开文件、写入数据、追加数据、读取数据、创建目录、删除目录
  • 【带文档】网上点餐系统 springboot + vue 全栈项目实战(源码+数据库+万字说明文档)
  • 操作系统|| 虚拟内存页置换算法
  • COMSOL随机参数化表面流体流动模拟
  • 记录算法笔记(2025.5.15)将有序数组转换为二叉搜索树
  • 城市排水管网流量监测系统解决方案
  • CS016-4-unity ecs
  • 长三角体育节回归“上海时间”,首次发布赛事旅游推荐线路
  • 俄乌直接谈判结束,乌称“毫无成果”
  • 鸿海下调全年营收展望:AI服务器业务强劲,预计今年营收增超50%
  • 万科再获深铁集团借款,今年已累计获股东借款近120亿元
  • 陕西旱情实探:大型灌区农业供水有保障,大旱之年无旱象
  • 《歌手2025》公布首发阵容,第一期就要淘汰一人