• 直接把数据库中的数据保存在CSV文件中


                     今天突然去聊就来写一个小小的demo喽,嘿嘿

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                saveFileDialog1.Filter = "CSV文件|*.CSV";
                saveFileDialog1.InitialDirectory = "D:\20160323";
                if (saveFileDialog1.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                else
                {
                    DataSet ds = GetTables();
                    string fileName1 = "Blogs";
                    string fileName2 = "AspNetUsers";
                    string fileName3 = "AspNetUserRoles";
                    SaveCSV(ds.Tables[0], fileName1);
                    SaveCSV(ds.Tables[1], fileName2);
                    SaveCSV(ds.Tables[2], fileName3);
                    MessageBox.Show("CSV文件保存成功!");
                }
            }
            public DataSet GetTables()
            {
                string sql = @"select * from Blogs;
                               select * from AspNetUsers;
                               select * from AspNetUserRoles
                             ";
                SqlParameter[] parms = { };
                return SqlHelper.ExecutedataAdapter(sql, parms, CommandType.Text);
            }
            /// <summary>
            /// 将DataTable中数据写入到CSV文件中
            /// </summary>
            /// <param name="dt">提供保存数据的DataTable</param>
            /// <param name="fileName">CSV的文件路径</param>
            public void SaveCSV(DataTable dt, string fileName)
            {
                FileStream fs = new FileStream(fileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
                string data = "";
    
                //写出列名称
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    data += dt.Columns[i].ColumnName.ToString();
                    if (i < dt.Columns.Count - 1)
                    {
                        data += ",";
                    }
                }
                sw.WriteLine(data);
    
                //写出各行数据
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    data = "";
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        data += dt.Rows[i][j].ToString();
                        if (j < dt.Columns.Count - 1)
                        {
                            data += ",";
                        }
                    }
                    sw.WriteLine(data);
                }
    
                sw.Close();
                fs.Close();
            }
        }
  • 相关阅读:
    Android常用命令
    kafka原理和集群配置
    zookeeper原理和集群配置
    python中is和==的区别以及全字段取出key和value
    Android Monkey压力测试介绍
    有一串随机整数列,a1,a2,...an,求数字[0-9]分别出现的次数,比如:[12, 210, 33]输出{'0': 1, '1': 2, '2': 2, '3': 2},时间和空间复杂度
    接口自动化get请求方式的处理
    读excel和openpyxl模块
    linux上安装Docker
    [数据结构]堆的建立和排序
  • 原文地址:https://www.cnblogs.com/dyxd/p/5311666.html
Copyright © 2020-2023  润新知