【问题标题】:Treeview nodes export to excelTreeview 节点导出到 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

【问题讨论】:

    标签: c# excel forms winforms treeview


    【解决方案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 文件的答案。
    • 成功了!!谢谢!!你太棒了!!这几天我一直在寻找这个答案。您是第一个为导出树视图提供合法答案以在互联网上所有其他论坛中脱颖而出的人。我很确定这将帮助许多其他难以理解处理树的递归函数的程序员
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多