Treeview 节点导出到 excel

Posted

技术标签:

【中文标题】Treeview 节点导出到 excel【英文标题】:Treeview nodes export to excel 【发布时间】:2020-05-17 07:17:38 【问题描述】:

我有一个包含多个节点的树视图,如何将包含所有子节点的树视图导出到 Excel。到目前为止的进展是下面的代码。

using (StreamWriter sw = new StreamWriter(Environment.CurrentDirectory + @"treeview2.csv"))
foreach (TreeNode node in treeView2.Nodes)

  sw.WriteLine(node);

`

我希望我的输出如何,这是来自在线的图片

Output click here

【问题讨论】:

【参考方案1】:

此示例使用EPPlus nuget package 创建 excel 文件。如果您不想使用此包,可以使用 Excel Interop 作为替代方案。

ExcelPackage excel = new ExcelPackage();
var worksheet = excel.Workbook.Worksheets.Add("TreeView Export");
int rowCounter = 0;

RecurseNodes(treeView1.Nodes, 1);

void RecurseNodes(TreeNodeCollection currentNode, int col)

    foreach (TreeNode node in currentNode)
    
        rowCounter = rowCounter + 1;
        worksheet.Cells[rowCounter, col].Value = node.Text;
        if (node.FirstNode != null)
            RecurseNodes(node.Nodes, col + 1);
    


excel.SaveAs(new FileInfo(@"C:\ProgramData\export.xlsx"));

如果需要,很乐意提供进一步的解释。

【讨论】:

当我运行它时它工作正常但由于某种原因它没有向文本文件写入任何内容。 嗯,这很奇怪。将其包裹在 try catch 中,看看是否有任何错误。 Nvm 让它工作!!我对您的代码进行了一些更改,但我忘记关闭 Streamwriter。但是转换为 excel 文件会很麻烦,我什至不知道如何开始任何建议? 我已经更新了使用 EPPlus nuget 包导出到 excel 文件的答案。 成功了!!谢谢!!你太棒了!!这几天我一直在寻找这个答案。您是第一个为导出树视图提供合法答案以在互联网上所有其他论坛中脱颖而出的人。我很确定这将帮助许多其他难以理解处理树的递归函数的程序员

以上是关于Treeview 节点导出到 excel的主要内容,如果未能解决你的问题,请参考以下文章

delphi中的treeview控件如何取到选择节点的索引号?

如何将 Xml 属性绑定到 Treeview 节点,同时将 XDocument 数据绑定到 WPF Treeview

TreeView点击相应的节点为啥不跳转

WPF TreeView 展开到指定节点

TreeView控制消息

未显示根线时,TreeView 将 +- 号添加到根节点[重复]