C# 将dataGridView1数据写入CSV

 #region 将dataGridView1数据写入CSV
        /// <summary>
        /// 将dataGridView1数据写入CSV
        /// </summary>
        /// <param name="dataGridView1"></param>
        public static void write_CSV(DataGridView dataGridView1)
        {
            if (dataGridView1.Rows.Count == 0)

            {

                MessageBox.Show("没有数据可导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

                return;



            }

            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.Filter = "CSV files (*.csv)|*.csv";

            saveFileDialog.FilterIndex = 0;

            saveFileDialog.RestoreDirectory = true;

            saveFileDialog.CreatePrompt = true;

            saveFileDialog.FileName = null;

            saveFileDialog.Title = "保存";

            if (saveFileDialog.ShowDialog() == DialogResult.OK)

            {

                Stream stream = saveFileDialog.OpenFile();

                StreamWriter sw = new StreamWriter(stream, System.Text.Encoding.GetEncoding(-0));

                string strLine = "";

                try

                {

                    //表头

                    for (int i = 0; i < dataGridView1.ColumnCount; i++)

                    {

                        if (i > 0)

                            strLine += ",";

                        strLine += dataGridView1.Columns[i].HeaderText;

                    }

                    strLine.Remove(strLine.Length - 1);

                    sw.WriteLine(strLine);

                    strLine = "";

                    //表的内容

                    for (int j = 0; j < dataGridView1.Rows.Count; j++)

                    {

                        strLine = "";

                        int colCount = dataGridView1.Columns.Count;

                        for (int k = 0; k < colCount; k++)

                        {

                            if (k > 0 && k < colCount)

                                strLine += ",";

                            if (dataGridView1.Rows[j].Cells[k].Value == null)

                                strLine += "";

                            else

                            {

                                string cell = dataGridView1.Rows[j].Cells[k].Value.ToString().Trim();

                                //防止里面含有特殊符号

                                cell = cell.Replace("\"", "\"\"");

                                cell = "\"" + cell + "\"";

                                strLine += cell;

                            }

                        }

                        sw.WriteLine(strLine);

                    }

                    sw.Close();

                    stream.Close();

                    MessageBox.Show("数据被导出到:" + saveFileDialog.FileName.ToString(), "导出完毕", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message, "导出错误", MessageBoxButtons.OK, MessageBoxIcon.Information);

                }
            }
        }
        #endregion

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将 `dataGridView1` 中的数据上传到 MySQL 数据库中,可以使用以下步骤: 1. 创建连接对象 ```csharp MySqlConnection conn = new MySqlConnection("Server=localhost;Database=mydatabase;Uid=myusername;Pwd=mypassword;"); ``` 其中,`mydatabase` 是你要上传数据的 MySQL 数据库名称,`myusername` 和 `mypassword` 分别是你的 MySQL 数据库的用户名和密码。 2. 打开连接 ```csharp conn.Open(); ``` 3. 创建 INSERT 语句并执行 ```csharp foreach (DataGridViewRow row in dataGridView1.Rows) { string query = "INSERT INTO table_name (column1, column2, column3) VALUES ('" + row.Cells[0].Value + "', '" + row.Cells[1].Value + "', '" + row.Cells[2].Value + "')"; MySqlCommand cmd = new MySqlCommand(query, conn); cmd.ExecuteNonQuery(); } ``` 其中,`table_name` 是你要上传数据的 MySQL 数据库中的表名,`column1`、`column2`、`column3` 等等是该表中的列名。 4. 关闭连接 ```csharp conn.Close(); ``` 完整代码如下: ```csharp MySqlConnection conn = new MySqlConnection("Server=localhost;Database=mydatabase;Uid=myusername;Pwd=mypassword;"); conn.Open(); foreach (DataGridViewRow row in dataGridView1.Rows) { string query = "INSERT INTO table_name (column1, column2, column3) VALUES ('" + row.Cells[0].Value + "', '" + row.Cells[1].Value + "', '" + row.Cells[2].Value + "')"; MySqlCommand cmd = new MySqlCommand(query, conn); cmd.ExecuteNonQuery(); } conn.Close(); ``` 注意:上述代码中的列名、表名和数据库名称需要根据实际情况进行修改。同时,为了防止 SQL 注入攻击,建议使用参数化查询方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值