数据导出和treeview

zhangdandan1 zhangdandan1     2022-08-08     562

关键词:

一、数据导出:
将数据库的数据导出成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("<table border="1">");//边框
            //表头
            ss.Append("<tr><td>序号</td><td>用户名</td><td>密码</td><td>昵称</td><td>性别</td><td>年龄</td><td>生日</td><td>民族</td></tr>");
            b = list.Count();//集合的个数
            progressBar1.Maximum = b;//滚动条的最大值是集合的个数
            foreach (Product1 u in list)
                {
                    ss.Append("<tr>");
                    ss.Append("<td>" + u.ProductId + "</td>");
                    ss.Append("<td>" + u.ProductName + "</td>");
                    ss.Append("<td>" + u.ProductCategory + "</td>");
                    ss.Append("<td>" + u.ProductUnit + "</td>");
                    ss.Append("<td>" + u.ProductArea + "</td>");
                    ss.Append("<td>" + u.ProductDate + "</td>");
                    ss.Append("<td>" + u.ProductLif + "</td>");
                    ss.Append("</tr>");
                    a++;//每循环一次a加1
                    if (a <= b)//a<b时滚动条变化
                    {
                        progressBar1.Value = a;
                    }
                    else { break; }
                }
                a = 0;
                ss.Append("</table>");
                sww.Write(ss);
                sww.Close();
        }

 

二、TreeView
Treeview用于显示按照树形结构进行组织的数据。
Expanded属性表明是否所有的子项都全部展开(包括子项的子项),为True表示全部展开。

     private void button1_Click(object sender, EventArgs e)
        {
            List<ChinaStates> list1 = new ChinaData().Select();//一次性查找出数据库中的所有数据
            TreeNode tn = new TreeNode("中国");
            tn.Tag = "0001";//记录这个节点的编号
            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);
                }
            }
        }

 

winform(数据导出treeview的使用)

DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查一、后台数据绑定:    List<xxx>list=newList<xxx>();    dataGridView1.DataSource=list;    &nbs 查看详情

Treeview 节点导出到 excel

】Treeview节点导出到excel【英文标题】:Treeviewnodesexporttoexcel【发布时间】:2020-05-1707:17:38【问题描述】:我有一个包含多个节点的树视图,如何将包含所有子节点的树视图导出到Excel。到目前为止的进展是下面的代码。using(StreamW... 查看详情

TreeView、HierarchicalDataTemplate 和递归数据

】TreeView、HierarchicalDataTemplate和递归数据【英文标题】:TreeView,HierarchicalDataTemplateandrecursiveData【发布时间】:2013-02-2019:54:30【问题描述】:对于我的树视图,我有两个不同的类提供ItemsSource。publicclassTreeViewModel:ViewModelBasepublicObser... 查看详情

wpf中treeview控件数据绑定和后台动态添加数据(代码片段)

数据绑定:TreeView数据绑定需要使用层次结构数据模板(HierarchicalDataTemplate)来显示分层数据。XAML代码如下:<TreeViewName="chapterTree"Grid.Column="0"><TreeView.ItemTemplate><HierarchicalDataTemplateItemsSource="BindingPath=ChildNodes"><StackP... 查看详情

基于li列表选择和Json数据创建Treeview

】基于li列表选择和Json数据创建Treeview【英文标题】:CreateTreeviewbasedonlilistselectionandJsondata【发布时间】:2020-12-2323:42:33【问题描述】:我有一个场景使用ulli和json数据中的项目列表创建树视图,根据我对列表项的选择,应该创建... 查看详情

datagridview拖动到treeview

 很多时候我们会有这样的需求:一个窗体中有两个GRID,两个GRID中数据表结构差不多,我们要把一个GRID中的数据加入到另一个GRID中。一般的做法是新增一个导入或导出按钮,选择目标行后,通过按钮来触发事件,实现两个GR... 查看详情

重写treeview模板来实现数据分层展示

  前面一片文章实现TreeView的基本的模板重写,那么照着这个思路,我们再来写一个稍稍复杂的TreeView,其它的内容都和前面系列内容相似,还是和之前文章介绍的一样,首先看看做出的DEMO的最终样式,先来一睹为快。其实并不... 查看详情

c#winform中treeview怎么进行数据绑定

...定不推荐用在winform中,你可以使用递归的方式建立一个TreeView,举个例子,你可以这么写:privatevoidInitializeTreeView()treeView1.BeginUpdate();treeView1.Nodes.Add("Parent");treeView1.Nodes[0].Nodes.Add("Child1");treeView1.Nodes[0].Nodes.Add("C... 查看详情

如何与 TreeView 共享数据,例如 gtk_list_store

】如何与TreeView共享数据,例如gtk_list_store【英文标题】:HowtosharedatawithaTreeViewsuchasdonebygtk_list_store【发布时间】:2015-01-0509:30:04【问题描述】:我在Qt/C++中使用TreeView管理应用程序为了不混合文件系统访问和窗口/UI管理,我确实... 查看详情

unigui的菜单树补习treeview

Treeview用于显示按照树形结构进行组织的数据。      Treeview控件中一个树形图由节点(TreeNode)和连接线组成。TtreeNode是TTreeview的基本组成单元。   一个树的节点又包含文本(Text)和数据(Data)。Text为Str... 查看详情

tkinter Treeview 小部件插入数据

】tkinterTreeview小部件插入数据【英文标题】:tkinterTreeviewwidgetinsertingdata【发布时间】:2016-07-0708:03:00【问题描述】:这是我的示例代码。我希望在按下回车按钮时将条目中键入的项目插入到树视图中。我是python和tkinter新手,对t... 查看详情

如何使用 JSON 数据递归填充 TreeView

】如何使用JSON数据递归填充TreeView【英文标题】:HowtorecursivelypopulateaTreeViewwithJSONdata【发布时间】:2017-02-0202:01:04【问题描述】:我有一个winformstreeview,我可以自动读取数据,(一个节点等于key,一个节点里面等于value),但是... 查看详情

delphi中treeview和dbgird的结合使用?

...shui矿泉水yinliao.........flag为一级的做父目录我现在已经在treeview中读取了数据flag为一级做好目录了..我想在点击treeview中的目录,在右边的DBgird中显示其下的子目录.比如我点中treeview中的水果.在右边的DBgird中显示flag为shuiguo的苹果,... 查看详情

过滤包含所有节点和子节点的 TreeView

】过滤包含所有节点和子节点的TreeView【英文标题】:FilterTreeViewwithallnodesandchilds【发布时间】:2020-08-2823:41:14【问题描述】:我有一个父节点有一个孩子,这个孩子有另一个孩子等等。他们都在TreeView所以我创建了一个全局变量... 查看详情

vb中如何使用treeview控件.

VB中如何使用TreeView控件,像注册表一样的目录结构!应该怎么做.请赐教...或举个容易看懂的例子!在网上很多没有的例子.都只能在WIN95/98下使用!请给出能在2K/XP下运行正常的!能正常使用保证加分!龙车花卉,你的楼下有人抄袭你的答... 查看详情

delphi学习treeview中从表列名和数据添加为目录并双击自动选中

1unitUnit2;23interface45uses6Winapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,7Vcl.Controls,Vcl.Forms,Vcl.Dialogs,Data.DB,Data.Win.ADODB,Vcl.Grids,8Vcl.DBGrid 查看详情

Kendo UI Treeview 和 JSON

】KendoUITreeview和JSON【英文标题】:KendoUITreeviewandJSON【发布时间】:2012-10-2812:31:05【问题描述】:所以我想创建一个带有kendoUI树视图项的树,并将其绑定到作为JSON文件的远程分层数据源。我希望生成的树类似于:(车辆)--(汽... 查看详情

ASP.NET Core MVC 中的 TreeView(来自 SQL 的数据)

】ASP.NETCoreMVC中的TreeView(来自SQL的数据)【英文标题】:TreeViewinASP.NETCoreMVC(datafromSQL)【发布时间】:2021-12-2610:44:02【问题描述】:我正在尝试使用多个级别的TreeView创建一个列表,该列表由课程和模块组成,每个课程包含几个... 查看详情