zoukankan      html  css  js  c++  java
  • 数据导出和TreeView的使用

                                  将数据库的数据导出成Excel工作表或是Word文档

    1、首先将数据库中的数据封装成实体类

    2、写好查询数据的方法,在主窗体中调用查看所有的数据

    3、利用saveFileDialogStreamWriter将数据导出去,期间需要用到HTML中的table表格结构

    <table>

    <tr><td>添加数据</td></tr>

    <tr><td>添加数据</td></tr>

    </table>

    拼接成一个字符串将数据导出去。

    例:

     1 public partial class Form1 : Form
     2     {
     3         List<Users> list = new List<Users>();
     4 
     5         public Form1()
     6         {
     7             InitializeComponent();
     8 
     9             list = new UserData().Select();
    10 
    11             int id = 1;
    12 
    13             foreach(Users u in list)//遍历数据库中的所有数据放到泛型集合中
    14             {
    15                 ListViewItem li = new ListViewItem();
    16                 li.Text = id.ToString();
    17                 li.SubItems.Add(u.UserName);
    18                 li.SubItems.Add(u.PassWord);
    19                 li.SubItems.Add(u.NickName);
    20                 li.SubItems.Add(u.SetStr);
    21                 li.SubItems.Add(u.BirthdayStr);
    22                 li.SubItems.Add(u.NationName);
    23 
    24                 listView1.Items.Add(li);
    25                 id++;
    26             }
    27 
    28         }
    29 
    30         private void button1_Click(object sender, EventArgs e)
    31         {
    32             saveFileDialog1.Filter = "Excel工作表|*xlsx|Word文档|*doc";//保存的时候需要显示的文件保存类型
    33             saveFileDialog1.FileName = DateTime.Now.Year + "" + DateTime.Now.Month + "" + "人员数据";//文件默认名称
    34             DialogResult dr = saveFileDialog1.ShowDialog();//获取一个用户要保存的路径
    35             if (dr == DialogResult.OK)
    36             {
    37                 StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
    38                 int id = 1;
    39 
    40                 StringBuilder ss = new StringBuilder();
    41                 ss.Append("<table border="1">");
    42                 ss.Append("<tr><td>序号</td><td>用户名</td><td>密码</td><td>昵称</td><td>性别</td><td>生日</td><td>民族</td></tr>");
    43                 foreach(Users u in list)
    44                 {
    45                     ss.Append("<tr>");
    46                     ss.Append("<td>"+id+"</td>");
    47                     ss.Append("<td>" + u.UserName + "</td>");
    48                     ss.Append("<td>" + u.PassWord + "</td>");
    49                     ss.Append("<td>" + u.NickName + "</td>");
    50                     ss.Append("<td>" + u.SetStr + "</td>");
    51                     ss.Append("<td>" + u.BirthdayStr + "</td>");
    52                     ss.Append("<td>" + u.NationName + "</td>");
    53                     ss.Append("</tr>");
    54                 }
    55                 ss.Append("</table>");
    56                 sw.Write(ss);
    57                 sw.Close();
    58             }
    59 
    60         }
    61     }

                                                       TreeView的使用

    1、依然是将数据库中的数据封装成实体类

    2、写查询所有数据的方法(以下以中国、省、市、县为例)

     1 public List<ChinaStates> Select()
     2         {
     3             List<ChinaStates> list = new List<ChinaStates>();
     4             cmd.CommandText = "select *from ChinaStates";
     5             conn.Open();
     6             SqlDataReader dr = cmd.ExecuteReader();
     7             if (dr.HasRows)
     8             {
     9                 while (dr.Read())
    10                 {
    11                     ChinaStates c = new ChinaStates()
    12                     {
    13                         AreaCode = dr[0].ToString(),
    14                         AreaName = dr[1].ToString(),
    15                         ParentAreaCode = dr[2].ToString()
    16                     };
    17                     list.Add(c);
    18                 }
    19             }
    20             conn.Close();
    21             return list;
    22         }

    3、主窗体中的按钮事件和方法

     1 public partial class Form1 : Form
     2     {
     3         public Form1()
     4         {
     5             InitializeComponent();
     6         }
     7 
     8         private void button1_Click(object sender, EventArgs e)
     9         {
    10             List<ChinaStates> list1 = new ChinaData().Select();
    11             TreeNode tn = new TreeNode("中国");
    12             tn.Tag = "0001";
    13             treeView1.Nodes.Add(tn);
    14             TreeViewBind(tn, list1);
    15 
    16         }
    17 
    18         private static void TreeViewBind(TreeNode tn, List<ChinaStates> list)
    19         {
    20             foreach (ChinaStates c in list)
    21             {
    22                 if (c.ParentAreaCode == tn.Tag.ToString())
    23                 {
    24                     TreeNode tnn = new TreeNode(c.AreaName);
    25                     tnn.Tag = c.AreaCode;
    26                     tn.Nodes.Add(tnn);
    27                     TreeViewBind(tnn, list);
    28                 }
    29             }
    30         }
    31 
    32     }
  • 相关阅读:
    沟通,你都做了什么
    Markdown,你只需要掌握这几个
    一周心态-情景联想
    一周心态-漫谈计划之死
    我的Git之旅(1)---git安装、github注册以及一些基本命令
    我的20132014
    Python 笔记——4 条件控制
    Python 笔记——3 数据类型
    Python 笔记——1语法分析
    纯CSS实现兼容ie6以上的圆角头像
  • 原文地址:https://www.cnblogs.com/xtq0313/p/5942486.html
Copyright © 2011-2022 走看看