Foxtable(狐表)用户栏目专家坐堂 → 如何批量处理文件?


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

主题:如何批量处理文件?

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


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
如何批量处理文件?  发帖心情 Post By:2015/3/27 16:32:00 [只看该作者]

下列代码只能实现一个文件的操作,如何实现选择某目录后对该目录下(包括子目录)所有EXCEL文件执行如下代码?

Dim file As String =  e.Form.Controls("TextBox1").value
Dim Book1 As New XLS.Book(file)
    Dim Sheet1 = Book1.Sheets(0)
    For i As Integer = 0 To Sheet1.Rows.Count-1
        For j As Integer = 0 To Sheet1.Cols.Count -1
            If dic.ContainsKey(Sheet1(i, j).Text) Then
                Output.Show(Sheet1(i, j).Text & vbcrlf & dic(Sheet1(i, j).Text))
                Sheet1(i, j).value = Sheet1(i, j).Text & vbcrlf & dic(Sheet1(i, j).Text)
                
            End If
        Next
    Next
    '//保存
    Book1.Save(file)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/27 16:51:00 [只看该作者]

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

 

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


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


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

我看了,还是有些搞不懂,麻烦老师结合我的代码给个例子,小弟再学习一下


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/30 14:18:00 [只看该作者]

 那请先上传例子。2楼已经很明显了啊。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/30 14:22:00 [只看该作者]

内部函数

 

Dim path As String = args(0)

For Each file As String In FileSys.GetFiles(path)
    Dim Book1 As New XLS.Book(file)
    Dim Sheet1 = Book1.Sheets(0)
    For i As Integer = 0 To Sheet1.Rows.Count-1
        For j As Integer = 0 To Sheet1.Cols.Count -1
            If dic.ContainsKey(Sheet1(i, j).Text) Then
                Output.Show(Sheet1(i, j).Text & vbcrlf & dic(Sheet1(i, j).Text))
                Sheet1(i, j).value = Sheet1(i, j).Text & vbcrlf & dic(Sheet1(i, j).Text)
               
            End If
        Next
    Next
    '//保存
    Book1.Save(file)

Next

For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("递归", p)
Next

 

调用

 

Dim file As String =  e.Form.Controls("TextBox1").value

Functions.Execute("递归", file)


 回到顶部