以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]如何判断需导入的excel工作表是否存在(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=14519)
|
-- 作者:yyzlxc
-- 发布时间:2011/11/22 14:34:00
-- [求助]如何判断需导入的excel工作表是否存在(已解决)
需导入excel工作簿的a表,在导入前,判断此表是否存在;存在的话,执行导入代码;如不存在,则给出提示,并终止代码运行。 实现此功能的按钮代码如何写,请各位老师帮助指教。谢谢!!
[此贴子已经被作者于2011-11-22 22:08:22编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间: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
-- 发布时间:2011/11/22 14:55:00
--
谢谢狐爸老师的指教,上述代码可以显示工作簿中的所有表名,如何来判断指定的a表是否存在,代码如何写,请狐爸老师再给予指教,谢谢!!
|
-- 作者: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("需导入的数据不存在!","提示")
|
-- 作者:yyzlxc
-- 发布时间:2011/11/22 19:45:00
--
做一个案例,请各位老师指教,谢谢!!
|
-- 作者: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
|
-- 作者:yyzlxc
-- 发布时间:2011/11/22 21:50:00
--
谢谢mr725老师的指教,代码达到预期的效果,但是存在一点瑕疵,如果找不到指定表,要按多次提示框的确定键(取决于表的数量),能否做到只出现一次提示框,还请老师指教,谢谢!!
|
-- 作者: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("需导入的数据不存在!","提示")
|