Foxtable(狐表)用户栏目专家坐堂 → [求助]如何判断需导入的excel工作表是否存在(已解决)


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

主题:[求助]如何判断需导入的excel工作表是否存在(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10639 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]如何判断需导入的excel工作表是否存在(已解决)  发帖心情 Post By:2011/11/22 14:34:00 [只看该作者]

需导入excel工作簿的a表,在导入前,判断此表是否存在;存在的话,执行导入代码;如不存在,则给出提示,并终止代码运行。
实现此功能的按钮代码如何写,请各位老师帮助指教。谢谢!!
[此贴子已经被作者于2011-11-22 22:08:22编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/22 14:46:00 [只看该作者]

Dim Book As New XLS.Book("c:\reports\test.xls")
For i As Integer = 0 To Book.Sheets.Count -1
    Messagebox.show(Book.Sheets(i).Name)
Next

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10639 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/22 14:55:00 [只看该作者]

谢谢狐爸老师的指教,上述代码可以显示工作簿中的所有表名,如何来判断指定的a表是否存在,代码如何写,请狐爸老师再给予指教,谢谢!!

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10639 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/22 15:35:00 [只看该作者]

以下代码,当a<>选定值时,会给予提示,但是当 a = 选定值时,合并代码没有运行,不知问题出在哪里,请各位老师指教,谢谢!!

 

Dim mydate As Date = Forms("余额导入").Controls("DateTimePicker1").Text
Dim ny As String = format( mydate,"yyyy-MM")
Dim Book As New XLS.Book("f:\data\账务\银行余额.xls")
For i As Integer = 0 To Book.Sheets.Count -1
    Dim a As String = Book.Sheets(i).Name
    If a = "" & ny &"$" Then
        DataTables("余额导入").DeleteFor("[编号]"IsNot Nothing)
        Dim mg As New Merger
        mg.SourcePath = "f:\data\账务\银行余额.xls"
        mg.Format = "excel" '指定格式
        mg.SourceTableName = "" & ny &"$" '指定要合并的表
        mg.DataTableName = "余额导入" '指定接收数据的表
        mg.Merge() '开始合并
        DataTables("余额导入").Save()
    End If
    Messagebox.show(Book.Sheets(a).Name)
Next
Messagebox.show("需导入的数据不存在!","提示")


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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10639 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/22 19:45:00 [只看该作者]

做一个案例,请各位老师指教,谢谢!!

 

 

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


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/11/22 20:53:00 [只看该作者]

Dim mydate As Date = Forms("余额导入").Controls("DateTimePicker1").Text
Dim ny As String = format( mydate,"yyyy-MM")
Dim Book As New XLS.Book(ProjectPath & "银行余额.xls")
For i As Integer = 0 To Book.Sheets.Count -1
    Dim a As String = Book.Sheets(i).Name

    If a = ny  Then
        '  DataTables("余额导入").DeleteFor("[编号] is not null")
        Dim mg As New Merger
        mg.SourcePath = ProjectPath & "银行余额.xls"
        mg.Format = "excel" '指定格式
        mg.SourceTableName = "" & ny &"$" '指定要合并的表
        mg.DataTableName = "余额导入" '指定接收数据的表
        mg.Merge() '开始合并
        DataTables("余额导入").Save()
        Exit For
    Else
        Messagebox.show("需导入的数据不存在!","提示")
    End If
Next


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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10639 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/22 21:50:00 [只看该作者]

谢谢mr725老师的指教,代码达到预期的效果,但是存在一点瑕疵,如果找不到指定表,要按多次提示框的确定键(取决于表的数量),能否做到只出现一次提示框,还请老师指教,谢谢!!

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10639 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/22 22:08:00 [只看该作者]

加一个Return语句,终止运行,问题解决。在这里再次感谢mr725老师和狐爸老师。

 

Dim mydate As Date = Forms("余额导入").Controls("DateTimePicker1").Text
Dim ny As String = format( mydate,"yyyy-MM")
Dim Book As New XLS.Book(ProjectPath & "银行余额.xls")
For i As Integer = 0 To Book.Sheets.Count -1
    Dim a As String = Book.Sheets(i).Name
    If a = ny  Then
        '  DataTables("余额导入").DeleteFor("[编号] is not null")
        Dim mg As New Merger
        mg.SourcePath = ProjectPath & "银行余额.xls"
        mg.Format = "excel" '指定格式
        mg.SourceTableName = "" & ny &"$" '指定要合并的表
        mg.DataTableName = "余额导入" '指定接收数据的表
        mg.Merge() '开始合并
        DataTables("余额导入").Save()
        Return
    End If
Next
Messagebox.show("需导入的数据不存在!","提示")


 回到顶部