.NET读取一个文件夹里面所有文件夹并且包括其子文件名称和其他的相关信息,可以做吗?
获取出来后因为要导出到一个EXCEL中
格式就像这样:
parent\a\1.txt
parent\a\2.txt
parent\a\3.txt
parent\a\4.txt
parent\a\5.txt
parent\a\6.txt
parent\b\1.jpg
parent\b\2.jpg
parent\b\3.jpg
parent\b\4.jpg
parent\b\5.jpg
这样可以吗?如果可以怎么做啊,求解释!!!

解决方案 »

  1.   

    c#递归遍历文件夹
    public ArrayList al=new ArrayList();
    //我把ArrayList当成动态数组用,非常好用
    public void GetAllDirList(string strBaseDir)
    {
      DirectoryInfo di=new DirectoryInfo(strBaseDir);
      DirectoryInfo[] diA=di.GetDirectories();
      for(int i=0;i<diA.Length;i++)  {
       al.Add(diA[i].FullName);
      //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中
       GetAllDirList(diA[i].FullName);
      //注意:递归了。逻辑思维正常的人应该能反应过来
      }
    }
      

  2.   

    private List<string> list = new List<string>();DirectoryInfo dire = new DirectoryInfo(path);
                getFile(dire); private void getFile(DirectoryInfo dire)
            {
                foreach (FileInfo file in dire.GetFiles())
                {
                    list.Add(file.Name);
                }
                foreach (DirectoryInfo d in dire.GetDirectories())
                {
                    getFile(d);
                }
            }
      

  3.   


    public void OutPutExcel()
            {
                //定义文档类型、字符编码
                Response.Clear();
              Response.Buffer= true;
              Response.Charset="GB2312";
                //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
              //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc    .xls    .txt   .htm
              Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");
              Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
              //Response.ContentType指定文件类型 可以为application/ms-excel、application/ms-word、application/ms-txt、application/ms-html 或其他浏览器可直接支持文档
              Response.ContentType = "application/ms-excel";
              this.EnableViewState = false;
                // 定义一个输入流
              System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
              System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);            this.RenderControl(oHtmlTextWriter);
              //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件
              Response.Write(oStringWriter.ToString());
              Response.End();
            }
      

  4.   

         string filename = Directory.GetFiles("path", SearchOption.AllDirectories);
    遍历文件用这个  
      

  5.   

    我们老板已经找到了,用EXCEL里面自带的宏做的