一、数据导出:
目标: 将数据库的数据导出成Excel工作表或是Word文档

基本步骤:

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

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

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

即<table>

<tr><td></td></tr>

</table>

方法1:用字符串拼接,但此法效率低

方法2:

List<Users> list = new List<Users>();

        public Form1()
{
InitializeComponent(); list = new UsersData().Select(); int id = ; foreach (Users u in list)//遍历数据库中的所有数据放到泛型集合中
{
ListViewItem li = new ListViewItem();
li.Text = id.ToString();
li.SubItems.Add(u.UserName);
li.SubItems.Add(u.PassWord);
li.SubItems.Add(u.NickName);
li.SubItems.Add(u.SexStr);
li.SubItems.Add((DateTime.Now.Year - u.Birthday.Year).ToString());
li.SubItems.Add(u.BirthdayStr);
li.SubItems.Add(u.NationName); listView1.Items.Add(li);
id++;
} } 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);
int id = ; StringBuilder ss = new StringBuilder();
ss.Append("<table border=\"1\">");
ss.Append("<tr><td>序号</td><td>用户名</td><td>密码</td><td>昵称</td><td>性别</td><td>年龄</td><td>生日</td><td>民族</td></tr>"); foreach (Users u in list)
{
ss.Append("<tr>");
ss.Append("<td>" + id + "</td>");
ss.Append("<td>" + u.UserName + "</td>");
ss.Append("<td>" + u.PassWord + "</td>");
ss.Append("<td>" + u.NickName + "</td>");
ss.Append("<td>" + u.SexStr + "</td>");
ss.Append("<td>" + (DateTime.Now.Year - u.Birthday.Year) + "</td>");
ss.Append("<td>" + u.BirthdayStr + "</td>");
ss.Append("<td>" + u.NationName + "</td>");
ss.Append("</tr>"); id++;
}
ss.Append("</table>");
sw.Write(ss);
sw.Close();
}

二、 TreeView的使用

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

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

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

private void button1_Click(object sender, EventArgs e)
{
List<ChinaStates> list1 = new ChinaData().Select();
TreeNode tn = new TreeNode("中国");
tn.Tag = "";//用户自定义数据
treeView1.Nodes.Add(tn);
TreeViewBind(tn, list1); } private static void TreeViewBind(TreeNode tn, List<ChinaStates> 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);
}
}
private void button1_Click(object sender, EventArgs e)
{
List<ChinaStates> list1 = new ChinaData().Select();
TreeNode tn = new TreeNode("中国");
tn.Tag = "";
treeView1.Nodes.Add(tn);
tn.Nodes.Add(new TreeNode("加载中..."));
} private static void TreeViewBind(TreeNode tn, List<ChinaStates> list)
{
List<ChinaStates> list = new ChinaData().Select(tn.Tag.ToString());
foreach (ChinaStates c in list)
{
TreeNode tnn = new TreeNode(c.AreaName);
tnn.Tag = c.AreaCode;
tn.Nodes.Add(tnn);
tnn.Nodes.Add(new TreeNode("加载中..."));
}
} private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
{
List<ChinaStates> list = new ChinaData().Select(e.Node.Tag.ToString());
e.Node.Nodes.Clear();
foreach (ChinaStates c in list)
{
TreeNode tnn = new TreeNode(c.AreaName);
tnn.Tag = c.AreaCode;
e.Node.Nodes.Add(tnn);
tnn.Nodes.Add(new TreeNode("加载中..."));
}
}

ToolTip后台代码

1.ToolTip.Show时显示不能隐藏解决方法:

  this.toolTip1.Dispose();
this.toolTip1 = new ToolTip();
this.toolTip1.Show("个性签名更新:"+U.Write,this.U_Write);

2.

ToolTip toolTip1 = new ToolTip();
toolTip1.AutoPopDelay = ;
toolTip1.InitialDelay = ;
toolTip1.ReshowDelay = ;
toolTip1.ShowAlways = true;
toolTip1.SetToolTip(this.U_Write, "个性签名更新:" + U.Write);

winform(数据导出、TreeView的使用)的更多相关文章

  1. Winform数据导出Execl小工具

    前台界面.cs文件 using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

  2. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  3. winform导入导出excel,后台动态添加控件

    思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...

  4. 使用NPOI将数据导出为word格式里的table

    开发环境:VS2013+MySQL5.5+EF6+NPOI2.0.6 格式:WinForm+CodeFirst PS:vs2013的CodeFirst很方便了啊 CodeFirst方式就不再赘述了. ...

  5. 学习笔记 DataGridView数据导出为Excel

    DataGridView数据导出为Excel   怎样把WinForm下的“DGV”里的绑定数据库后的数据导出到Excel中. 比如:在窗体里有个一“DGV”,DataGridView1,绑定了数据源 ...

  6. [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

    本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...

  7. DB数据导出工具分享

    一个根据数据库链接字符串,sql语句 即可将结果集导出到Excel的工具 分享,支持sqlserver,mysql. 前因 一个月前朋友找到我,让我帮忙做一个根据sql导出查询结果到Excel的工具( ...

  8. [工作札记]02: .Net Winform控件TreeView最简递归绑定方法

    前言:Treeview控件是我们在WinForm.WebForm开发中经常使用的控件,需要从数据库动态加载数据,然后递归绑定每一个节点:同样,递归的思路在其他程序中也经常运用,包括.Net MVC等. ...

  9. [django]数据导出excel升级强化版(很强大!)

    不多说了,原理采用xlwt导出excel文件,所谓的强化版指的是实现在网页上选择一定条件导出对应的数据 之前我的博文出过这类文章,但只是实现导出数据,这次左思右想,再加上网上的搜索,终于找出方法实现条 ...

随机推荐

  1. 基于LoadRunner构建接口测试框架

    基于LoadRunner构建接口测试框架 http://www.docin.com/p-775544153.html

  2. CocoStudio教程三:认识并利用CocoStudio的果实 运行2.2.1版本

    原文:CocoStudio教程三:认识并利用CocoStudio的果实 原文用的老版,用2.21搞起来好像有些问题,然后自己摸索了下,有的都是乱找的方法,只求能运行... 1,原文的CCJsonRea ...

  3. tengine + mysql + nginx + php

    tengine + mysql + nginx + php 1.配置防火墙vim /etc/sysconfig/iptables # 允许80端口通过防火墙-A INPUT -m state --st ...

  4. jsp中如何整合CKEditor+CKFinder实现文件上传

    最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人 ...

  5. Apache Tomcat关于shtml和SSI技术

    Tomcat http://blog.csdn.net/leftfist/article/details/8520773 http://webdevelop.jzxue.com/shtml/ http ...

  6. 【转载】[JS]让表单提交返回后保持在原来提交的位置上

    有时候,在网页中点击了页面中的按钮或是刷新了页面后,页面滚动条又 会回到顶部,想看后面的记录就又要拖动滚动条,或者要按翻页键,非常不方便,想在提交页面或者在页面刷新的时候仍然保持滚动条的位置不变,最好 ...

  7. 【leetcode】3 SUM

    3 SUM 原题: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? F ...

  8. Android 学习笔记之Volley开源框架解析(四)

    学习内容: 1.NetWorkDispatcher网络请求线程调度... 2.NetWork网络请求抽象类... 3.BasicNetWork网络请求抽象类的具体实现... 4.NetWorkResp ...

  9. mysql: you can't specify target table 问题解决

    首先创建一个表: CREATE TABLE `t1` ( `id` ) NULL DEFAULT NULL, `name` ) NULL DEFAULT NULL ) 插入几条数据: mysql> ...

  10. <转>——网络爬虫

    网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一个页面(通常是首页)开始,读 ...