Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
yyzlxc 发表于:2011/11/22 14:34:00
需导入excel工作簿的a表,在导入前,判断此表是否存在;存在的话,执行导入代码;如不存在,则给出提示,并终止代码运行。
实现此功能的按钮代码如何写,请各位老师帮助指教。谢谢!!
[此贴子已经被作者于2011-11-22 22:08:22编辑过]
2楼
狐狸爸爸 发表于: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
3楼
yyzlxc 发表于:2011/11/22 14:55:00
谢谢狐爸老师的指教,上述代码可以显示工作簿中的所有表名,如何来判断指定的a表是否存在,代码如何写,请狐爸老师再给予指教,谢谢!!
4楼
yyzlxc 发表于: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("需导入的数据不存在!","提示")

5楼
yyzlxc 发表于:2011/11/22 19:45:00

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

 

 

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

6楼
mr725 发表于: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

7楼
yyzlxc 发表于:2011/11/22 21:50:00
谢谢mr725老师的指教,代码达到预期的效果,但是存在一点瑕疵,如果找不到指定表,要按多次提示框的确定键(取决于表的数量),能否做到只出现一次提示框,还请老师指教,谢谢!!
8楼
yyzlxc 发表于: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("需导入的数据不存在!","提示")

共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 3 queries.