以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [原创]能否不指定工作表名称,直接导入第一个工作表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=31799)

--  作者:瞩望星空
--  发布时间:2013/4/20 20:14:00
--  [原创]能否不指定工作表名称,直接导入第一个工作表

在导入XLS文件时,帮助中例子是直接指定工作表的名称,如:

 

导入Excel文件:

Dim ip as New Importer
ip.SourcePath = "c:\\Data\\销售管理.xls" \'指定数据文件
ip.SourceTableName = "订单" \'指定要导入的表
ip.NewTableName ="订单" \'导入后的表名
ip.Format = "Excel" \'指定导入格式
ip.Import()

 

如果把这一句“ip.SourceTableName = "订单" \'指定要导入的表”

改成:“ip.SourceTableName =ip.SourcePath.Sheets(0)”

即,不指定工作表名,而直接用“Sheets(0)”(即引用工作簿的第一个工作表),可以吗?

[此贴子已经被作者于2013-7-24 9:54:05编辑过]

--  作者:菲舍尔
--  发布时间:2013/4/20 23:56:00
--  

不可能的,你用openfiledialog来选文件吧

 

你不指定文件的话,系统怎么知道你要导入哪个文件?难道叫系统把硬盘中的excel全导入?

 

不会用openfiledialog的话,就看一下帮助


--  作者:瞩望星空
--  发布时间:2013/4/21 11:03:00
--  

ip.SourcePath = "c:\\Data\\销售管理.xls" \'指定数据文件

这一句就是指定文件啊。
--  作者:狐狸爸爸
--  发布时间:2013/4/22 9:37:00
--  

你可以用这个方法,获得第一个表的名称:

 

Dim Book As New XLS.Book("c:\\data\\订单.xls")
Dim nm As String  = Book.Sheets(0).name
output.show(nm)

 


--  作者:瞩望星空
--  发布时间:2013/4/23 17:44:00
--  

谢谢狐爸!这个方法应该行得通。

 

相关行修改为:


        Dim Book As New XLS.Book(File)
        Dim nm As String  = Book.Sheets(0).name
             
        Dim mg As New Merger
        mg.SourcePath = file
        mg.Format = "excel" \'指定格式
        mg.SourceTableName = nm &"$"
       

[此贴子已经被作者于2013-4-23 18:00:44编辑过]