zoukankan      html  css  js  c++  java
  • WinForm--DataGridView导出数据到CSV文件

     1 /// <summary>
     2         /// 导出数据到CSV文件
     3         /// </summary>
     4         /// <param name="fileName"></param>
     5         /// <param name="table"></param>
     6         private void ExportDataToCSV(string fileName, DataTable table)
     7         {
     8             if (table == null || table.Rows.Count == 0)
     9             {
    10                 return;
    11             }
    12 
    13             SaveFileDialog saveDlg = new SaveFileDialog();
    14             saveDlg.Filter = "CSV文件(*.csv)|*.csv";
    15             saveDlg.FileName = fileName + DateTime.Now.ToString("yyyyMMdd");
    16 
    17             if (saveDlg.ShowDialog() == DialogResult.OK)
    18             {
    19                 FileStream fs = new FileStream(saveDlg.FileName, FileMode.Create);
    20                 StreamWriter write = new StreamWriter(fs, Encoding.Default);
    21                 try
    22                 {
    23                     //标题行
    24                     string userCode = table.Columns["UserCode"].ColumnName = "用户名称";
    25                     string userKey = table.Columns["UserKey"].ColumnName = "用户编码";
    26                     string isRegist = table.Columns["IsRegist"].ColumnName = "是否注册";
    27                     string serial = table.Columns["Serial"].ColumnName = "序列号";
    28                     string isEnable = table.Columns["IsEnable"].ColumnName = "是否启用";
    29                     write.Write(userCode + ",");
    30                     write.Write(userKey + ",");
    31                     write.Write(isRegist + ",");
    32                     write.Write(serial + ",");
    33                     write.Write(isEnable + ",");
    34 
    35                     write.WriteLine();
    36 
    37                     //明细行
    38                     for (int row = 0; row < table.Rows.Count; row++)
    39                     {
    40                         string Tem = "";
    41                         for (int column = 2; column <= table.Columns.Count - 1; column++)
    42                         {
    43                             if (table.Rows[row][column] != DBNull.Value)
    44                             {
    45                                 string TemString = table.Rows[row][column].ToString().Trim();
    46                                 Tem += TemString + "	";
    47                                 Tem += ",";
    48                             }
    49                             else
    50                             {
    51                                 string TemString = "";
    52                                 Tem += TemString;
    53                                 Tem += ",";
    54                             }
    55                         }
    56                         write.WriteLine(Tem);
    57                     }
    58                     write.Flush();
    59                     write.Close();
    60                     MessageBox.Show("导出成功:" + saveDlg.FileName.ToString().Trim());
    61                 }
    62                 catch (Exception ex)
    63                 {
    64                     MessageBox.Show(ex.ToString());
    65                     write.Close();
    66                 }
    67             }
    68         }
  • 相关阅读:
    SQL中的escape 将通配符 变成普通符号
    shell 变量
    vi 常用命令
    Java 内存模型基础
    Linux 的文件权限与目录配置
    Mybatis 源码分析之事物管理
    Mybatis 源码分析之一二级缓存
    Mybatis源码分析之结果集处理
    从JDBC看Mybatis的设计
    Mybatis源码分析之插件的原理
  • 原文地址:https://www.cnblogs.com/zhaoyl9/p/12874194.html
Copyright © 2011-2022 走看看