基于文件夹内容生成Excel文件

基于文件夹内容生成Excel文件,excel,Excel,是否可以基于文件夹树(包括其子目录和文件名)创建excel电子表格?他们的解决方案是使用excel本身还是有一个程序可以实现这一点?一种解决方案是将Java与Apache POI结合使用,请参阅。您可以在Java中读取目录结构。根据哪个元素,可以创建excel打印表。有关更多文档,请参阅。一种解决方案方法是将Java与Apache POI结合使用,请参阅。您可以在Java中读取目录结构。根据哪个元素,可以创建excel打印表。有关更多文档,请参阅。在VBA中,使用一个或两个自引用子节点可以轻松完

是否可以基于文件夹树(包括其子目录和文件名)创建excel电子表格?他们的解决方案是使用excel本身还是有一个程序可以实现这一点?

一种解决方案是将Java与Apache POI结合使用,请参阅。您可以在Java中读取目录结构。根据哪个元素,可以创建excel打印表。有关更多文档,请参阅。

一种解决方案方法是将Java与Apache POI结合使用,请参阅。您可以在Java中读取目录结构。根据哪个元素,可以创建excel打印表。有关更多文档,请参阅。

在VBA中,使用一个或两个自引用子节点可以轻松完成此操作,您可以在循环中使用Dir命令,使用此子节点,您可以根据传输的两个参数在树中上下移动:

  • 目录路径
  • 方向(向上或向下)

  • 在VBA中,使用一个或两个自引用子节点可以轻松完成此操作,其中使用Dir命令和循环,使用此子节点可以根据传输的两个参数在树上上下移动:

  • 目录路径
  • 方向(向上或向下)

  • 好的,我知道有很多方法可以做到这一点,但对我来说最简单的方法是这样的,不完全是自动生成excel文件,但它完成了我需要的:


    谢谢你的其他答案。

    好的,我知道有很多方法可以做到这一点,但对我来说最简单的方法是这样的,不完全是自动生成excel文件,但它完成了我需要的:


    谢谢您的其他回答。

    您也可以尝试此Excel文件:

    (树木在法语中是指树景)

    只需将其放在要捕获的树的根目录中,然后单击“读取树”按钮

    有许多未记录的功能,如创建新的日期文件和最大级别数、排除列表等。。。检查用户表单中的不同选项卡,如果有任何问题(如阅读法语:),请跳回到此处

    您始终可以修改VBA代码以满足特定要求


    希望这有助于…

    您也可以尝试此Excel文件:

    (树木在法语中是指树景)

    只需将其放在要捕获的树的根目录中,然后单击“读取树”按钮

    有许多未记录的功能,如创建新的日期文件和最大级别数、排除列表等。。。检查用户表单中的不同选项卡,如果有任何问题(如阅读法语:),请跳回到此处

    您始终可以修改VBA代码以满足特定要求


    希望这有帮助…

    如果您只需要执行一次,而不需要更新,那么类似的操作应该可以:

     cd directory
     tree > tree.txt
    
    现在,请执行以下操作:

  • 在文本编辑器中打开
    tree.txt
    ,该编辑器可以执行正则表达式,例如。下面的正则表达式适用于Notepad++,因此您可能需要在另一个使用不同regexp方言的编辑器中对其进行一些调整。请注意,每个目录树级别都有4个前缀字符

  • 删除任何你不关心的行

  • 替换,选中正则表达式和环绕复选框:

    • 查找:
      ^(\t*)[^\tA-Za-z0-9{4}
    • 替换:
      \1\t
  • 继续重复上述步骤,直到替换0个出现。看看文件是如何变化的

  • 复制文本(ctrl-a ctrl-c)并粘贴到Excel。制表符应将目录层次结构整齐地放置到Excel列中


  • 关于regexp的一些注释:

    • \t
      在表达式和替换中都是制表符
    • 替换中的
      \1
      表示表达式中第一个
      ()
      匹配的内容
    • 表达式中的首字母
      ^
      与行的开头匹配
    • [^
      ..
      ]
      在表达式中,匹配未列出的任何字符
    • {4}
      在表达式中的意思是,精确匹配之前发生的4次事件(在本例中,
      [^
      ..
      ]

    简而言之,它匹配并捕获行开始处的任何制表符,然后还匹配接下来的4个非制表符/字母/数字/下划线字符。然后,它首先被捕获的任何选项卡替换,然后是一个额外的选项卡。因此,每次完成此regexp时,4个非目录名称字符中的一个序列将被替换为tab。

    如果您只需要执行一次,而不需要更新它,那么类似这样的操作应该可以工作:

     cd directory
     tree > tree.txt
    
    现在执行以下操作:

  • 在文本编辑器中打开
    tree.txt
    ,该编辑器可以执行正则表达式,例如。下面的正则表达式适用于Notepad++,因此您可能需要在另一个使用不同regexp方言的编辑器中对其进行一些调整。请注意,每个目录树级别都有4个前缀字符

  • 删除任何你不关心的行

  • 替换,选中正则表达式和环绕复选框:

    • 查找:
      ^(\t*)[^\tA-Za-z0-9{4}
    • 替换:
      \1\t
  • 继续重复上述步骤,直到替换0个出现。看看文件是如何变化的

  • 复制文本(ctrl-a ctrl-c)并粘贴到Excel。制表符应将目录层次结构整齐地放置到Excel列中


  • 关于regexp的一些注释:

    • \t
      在表达式和替换中都是制表符
    • 替换中的
      \1
      表示表达式中第一个
      ()
      匹配的内容
    • 表达式中的首字母
      ^
      与行的开头匹配
    • [^
      ..
      ]
      在表达式中,匹配未列出的任何字符
    • {4}
      在表达式中的意思是,精确匹配之前发生的4次事件(在本例中,
      [^
      ..
      ]