以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]导入文件到窗口中的table的代码指导  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=113464)

--  作者:huangfanzi
--  发布时间:2018/1/16 14:51:00
--  [求助]导入文件到窗口中的table的代码指导
项目中有个窗口,窗口中有个table表与按钮,在按钮中有以下代码,希望将EXCEL文件的Sheet1表导入到这个table中,但执行不成功,请老师看看如何修正
另外,如果EXCEL文件中有多个Sheet表,能让用户选择某个Sheet表吗?而不是非要在代码中指定。
谢谢!

Dim dlg As New OpenFileDialog
dlg.Filter= "EXCEL文件|*.xlsx" \'设置筛选器
dlg.MultiSelect = True \'允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.Format = "excel" \'指定格式
        mg.SourceTableName = "Sheet1"
        mg.DataTableName = e.Form.Controls("Table1").Name
        mg.Merge()
    Next
End If



--  作者:有点甜
--  发布时间:2018/1/16 16:36:00
--  

 这样你就要做一个窗口了,如

 

下载信息  [文件大小:312.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:excel作为数据源_合并.table


--  作者:huangfanzi
--  发布时间:2018/1/16 20:03:00
--  
If e.Sender.Text > "" Then
    Dim q As new QueryBuilder
    q.C
    q.TableName = "临时表"
    q.SelectString = "S elect * f rom [" & e.Sender.Text & "]"
    q.Build
    If DataTables.Contains("临时表")
        e.Form.Controls("Table1").Table.DataSource = DataTables("临时表")
    Else
        e.Form.Controls("Table1").Table.DataSource = DataTables("表A")
    End If
End If

绿色的这一段没看懂用意是什么,为什么还出现了个表A,请老师用文字解释下,谢谢!
[此贴子已经被作者于2018/1/16 20:03:33编辑过]

--  作者:有点蓝
--  发布时间:2018/1/16 21:30:00
--  
就是把Execl的内容加载到临时表里,如果加载不成功,窗口表默认显示表A的内容
--  作者:有点甜
--  发布时间:2018/1/17 9:35:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=109607&skin=0