Foxtable(狐表)用户栏目专家坐堂 → 如何提取目录下的文件到EXCEL报表


  共有3625人关注过本帖树形打印复制链接

主题:如何提取目录下的文件到EXCEL报表

帅哥哟,离线,有人找我吗?
南望
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/14 16:56:00 [只看该作者]

以下代码只能提取指定目录下的文件名,为什么不能提取其子目录下的文件名?代码哪有问题?

 

’提取文件按钮事件

 

Dim FilePath As WinForm.TextBox = e.Form.Controls("TextBox1")

If FileSys.DirectoryExists(FilePath.Value) Then
    Functions.Execute("文件名提取函数",FilePath.value)
End If

 

‘自定义函数

Dim path As String = args(0)

Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet(0, 0).Value = "文件名"
Dim r As Integer = 1
For Each file As String In FileSys.GetFiles(path)
    Dim Ifo As new FileInfo(file)
    If Ifo.hidden=False Then
        sheet(r,0).value = filesys.getname(file)
        r += 1
    End If
Next

For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("文件名提取函数",p)
Next
Book.Save("c:\reports\test.xls")


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 16:58:00 [只看该作者]

获取所有的文件名,需要用递归函数去处理,

 

参考下面例子,获取所有文件

 

下载信息  [文件大小:292.0 KB  下载次数:84]
图片点击可在新窗口打开查看点击浏览该文件:文件递归.table


 回到顶部
帅哥哟,离线,有人找我吗?
南望
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/14 17:04:00 [只看该作者]

我 就是用了递归函数啊,自我调用。难道函数名字必须叫“递归”

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/14 17:07:00 [只看该作者]

老师您看我的代码不就是用递归函数的原理做的吗,但不好使呢

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/14 17:12:00 [只看该作者]

帮忙看看

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目26.rar


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:15:00 [只看该作者]

Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet(0, 0).Value = "文件名"
Dim r As Integer = 1

Dim FilePath As WinForm.TextBox = e.Form.Controls("TextBox1")

If FileSys.DirectoryExists(FilePath.Value) Then
    Functions.Execute("文件名提取函数", FilePath.Text, Sheet, r)
End If

Book.Save("c:\reports\test.xls")

 

 

---------------------------------

 

Dim path As String = args(0)
Dim Sheet As XLS.Sheet = args(1)
Dim r As Integer = args(2)

For Each file As String In FileSys.GetFiles(path)
    Dim Ifo As new FileInfo(file)
    If Ifo.hidden=False Then
        sheet(r,0).value = filesys.getname(file)
        r += 1
    End If
Next

For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("文件名提取函数", p, Sheet, r)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
南望
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/14 17:33:00 [只看该作者]

问题解决。 filesys.getname(file)如果返回含路径的文件名呢?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:33:00 [只看该作者]

sheet(r,0).value = file

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/22 11:07:00 [只看该作者]

问一下,上面的代码提取的只有文件名,如何能把整个路径也带上?例如:C:\TEST\1.xls

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2015/5/22 11:16:00 [只看该作者]

会了

 回到顶部
总数 20 上一页 1 2