树视图节点导出到 excel

Treeview nodes export to excel

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

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

`

我希望我的输出是这样的这是来自网上的图片

Output click here

此示例使用 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"));

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