• winfrom数据导出


    /// <summary>
    /// 数据导出
    /// </summary>
    /// <param name="dataGridView"></param>
    /// <returns></returns>
    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 = "保存";

    DateTime now = DateTime.Now;
    saveFileDialog.FileName = now.Year.ToString().PadLeft(2)
    + now.Month.ToString().PadLeft(2, '0')
    + now.Day.ToString().PadLeft(2, '0') + "-"
    + now.Hour.ToString().PadLeft(2, '0')
    + now.Minute.ToString().PadLeft(2, '0')
    + now.Second.ToString().PadLeft(2, '0');

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

  • 相关阅读:
    maven下载源配置
    nvm及node下载源配置
    SourceInsight 添加Symbol Lookup路径
    8.31-使用vscode进行c/c++程序设计
    10.08-vscode-plantuml建模
    6.26-vscode 配置文件
    3.5-VSCode 学习
    3.6-WizNote 常用快捷键
    10.04-CTEST-GTest
    180325-log4cplus
  • 原文地址:https://www.cnblogs.com/ouyangkai/p/11089427.html
Copyright © 2020-2023  润新知