public static List <FindElem> ListExcelFilesEx(string dir) { List <FindElem> elemList = new List <FindElem>(); var excelFiles = Directory.EnumerateFiles(dir, "*.xlsx"); foreach (string currentFile in excelFiles) { //string fileName = currentFile.Substring(dirPath.Length + 1); if (currentFile.IndexOf("~") >= 0) { continue; } //string fileName = currentFile.Replace(dir, ""); //if (!dir.EndsWith("\\")) //{ // fileName = fileName.Substring(1); //} //if (searchCur == "" || fileName.IndexOf(searchCur, StringComparison.OrdinalIgnoreCase) >= 0) //{ // this.filelist.Items.Add(fileName); //} elemList.Add(new FindElem(0, currentFile)); } var dirs = Directory.EnumerateDirectories(dir); foreach (string currentDir in dirs) { List <FindElem> subList = ListExcelFilesEx(currentDir); FindElem findElem = new FindElem(1, currentDir); findElem.elems = subList; elemList.Add(findElem); } return(elemList); }
private TreeNode createNode(FindElem findElem) { string name = findElem.elemName; name = name.Replace(dir, ""); if (!dir.EndsWith("\\")) { name = name.Substring(1); } TreeNode node = new TreeNode(name); if (findElem.elemType == 1) { foreach (FindElem elem in findElem.elems) { node.Nodes.Add(createNode(elem)); } } return(node); }