C#将DataGridView导出到csv文件-创新互联

//author: walker
//date: 2014-01-06
//function: 将dataGridView导出到csv
private bool dataGridViewToCSV(DataGridView dataGridView)
{
    if (dataGridView.Rows.Count == 0)
    {
        MessageBox.Show("没有数据可导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        return false;
    }
    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;
        }
    }
    return true;
}

相关阅读:

成都创新互联专业为企业提供德安网站建设、德安做网站、德安网站设计、德安网站制作等企业网站建设、网页设计与制作、德安企业网站模板建站服务,十余年德安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1、关于特殊符号和分隔符。

2、C#将DataTable导出到csv文件。

*** walker ***

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:C#将DataGridView导出到csv文件-创新互联
文章位置:http://ybzwz.com/article/deocgp.html