一、数据导出:
将数据库的数据导出成Excel工作表或是Word文档实际上是将一个泛型集合导出出去(1)添加控件saveFileDialog (2)数据成表格的形式输出出去<table></table> 拼成html里面的table表格结构,拼成一个字符串,导出出去(3)字符串拼接效率低,消耗内存大
StringBuilder ss = new StringBuilder();//实例化 ss.Append();//添加(4)导出数据时开线程节省时间,防止程序假死;进度条显示进度。
代码:
List<Product1> list=null;
int a = 0;private void button1_Click(object sender, EventArgs e) { //一个按钮要可以让用户选择导出的文件格式 saveFileDialog1.Filter = "Excel工作表|*.xlsx|Word文档|*.doc"; //名字按照时间自动生成 saveFileDialog1.FileName = DateTime.Now.Year + "年" + DateTime.Now.Month + "月数据"; DialogResult dr = saveFileDialog1.ShowDialog(); //获取一个用户要保存的路径 if (dr == DialogResult.OK) { StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);//输出流 { Thread th = new Thread(NewMethod);//实例化线程 th.IsBackground = true; th.Start(sw);//开线程 } } } //导出数据的函数 private void NewMethod(object sw) { StreamWriter sww = (StreamWriter)sw; StringBuilder ss = new StringBuilder();//实例化StringBuilder类 ss.Append(" "); sww.Write(ss); sww.Close(); }
序号 | 用户名 | 密码 | 昵称 | 性别 | 年龄 | 生日 | 民族 |
" + u.ProductId + " | "); ss.Append("" + u.ProductName + " | "); ss.Append("" + u.ProductCategory + " | "); ss.Append("" + u.ProductUnit + " | "); ss.Append("" + u.ProductArea + " | "); ss.Append("" + u.ProductDate + " | "); ss.Append("" + u.ProductLif + " | "); ss.Append("
二、TreeView
Treeview用于显示按照树形结构进行组织的数据。 Expanded属性表明是否所有的子项都全部展开(包括子项的子项),为True表示全部展开。private void button1_Click(object sender, EventArgs e) { Listlist1 = new ChinaData().Select();//一次性查找出数据库中的所有数据 TreeNode tn = new TreeNode("中国"); tn.Tag = "0001";//记录这个节点的编号 treeView1.Nodes.Add(tn); TreeViewBind(tn, list1);//调用函数 } //递归调用自身 private static void TreeViewBind(TreeNode tn, List list) { foreach (ChinaStates c in list) { if (c.ParentAreaCode == tn.Tag.ToString()) { TreeNode tnn = new TreeNode(c.AreaName); tnn.Tag = c.AreaCode; tn.Nodes.Add(tnn); TreeViewBind(tnn, list); } } }