• dataGridView导出为CSV文件


    如下:

        public class Export
        {
            public void dataGridViewToCSV(DataGridView dataGridView)
            {
                if (dataGridView.Rows.Count == 0)
                {
                    MessageBox.Show("没有数据可导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                
                }
    
                Thread t = new Thread((ThreadStart)(() =>
                        {
                            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 < dataGridView.ColumnCount; i++)
                                    {
                                        if (i > 0)
                                            strLine += ",";
                                        strLine += dataGridView.Columns[i].HeaderText;
                                    }
                                    strLine.Remove(strLine.Length - 1);
                                    sw.WriteLine(strLine);
                                    strLine = "";
                                    //表的内容
                                    for (int j = 0; j < dataGridView.Rows.Count; j++)
                                    {
                                        strLine = "";
                                        int colCount = dataGridView.Columns.Count;
                                        for (int k = 0; k < colCount; k++)
                                        {
                                            if (k > 0 && k < colCount)
                                                strLine += ",";
                                            if (dataGridView.Rows[j].Cells[k].Value == null)
                                                strLine += "";
                                            else
                                            {
                                                string cell = dataGridView.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);
                                   // return false;
                                }
                            }
                        }
    
                       ));
                t.SetApartmentState(ApartmentState.STA);
                t.Start();
                t.Join();
           
            }
              
        }
    

      

  • 相关阅读:
    数据转换类型和算数运算符
    语言基础+数据类型
    JS(一)Prototype的使用
    Jquery EasyUI简介和数据的增删改查
    http简介
    《JavaScript语言精粹》笔记
    wcf
    简单工厂模式与抽象工厂模式
    <转载>C#中的特性(Attributes)
    <转载>C#IEnumerable和IEnumerator 详解
  • 原文地址:https://www.cnblogs.com/tiancaige/p/12941786.html
Copyright © 2020-2023  润新知