c#datagridview转出CSV文件

2026-02-09 06:02:06

1、首先在需要转出文档的页面将空间布局处理好。各个控件按需处理。

c#datagridview转出CSV文件

2、连接数据库,本例采用XML方式连接。

 SqlConnection conn = new SqlConnection(Read_Xml(Application.StartupPath + "\\Sqlconnection.xml"));

            conn.Open();

c#datagridview转出CSV文件

3、转出CSV档案控件事件编写。

    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);

        }

c#datagridview转出CSV文件

4、完成任务后记得关闭数据库连接。

c#datagridview转出CSV文件

5、去写完后去测试,导出文件。

c#datagridview转出CSV文件

6、导出成功,速度比Excel要快很多。

c#datagridview转出CSV文件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢