Foxtable(狐表)用户栏目专家坐堂 → Foxtable读取Excel文件代码求助


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

主题:Foxtable读取Excel文件代码求助

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


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
Foxtable读取Excel文件代码求助  发帖心情 Post By:2020/6/6 16:53:00 [只看该作者]

老师您好,我想把帮助中Foxtable直接读取电脑中固定路径的Excel文件改成读取手工选择的Excel文件,请老师帮我整合一段代码,谢谢!图片点击可在新窗口打开查看实例已上传。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于读取excel数据代码.zip


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


加好友 发短信
等级:一尾狐 帖子:480 积分:4464 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/6/6 17:04:00 [只看该作者]

2003,2007格式的EXCEL都可以用。
工作簿,通过窗口选择
要导入的工作表: "工作表名$"
生产的内部表:"XXX表"

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls;*.xlsx" '设置筛选器
'导入EXCEL数据--------------------------
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Dim mg As New Importer
mg.SourcePath = dlg.FileName
mg.SourceTableName = "工作表名$"
mg.NewTableName = "XXX表"
If right(dlg.filename,4)=".xls" Then
mg.Format = "Excel" '入格式
Else
mg.Format = "Excel2007"
End If
mg.Import()
End If
'导入EXCEL数据---------------------------

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


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2020/6/6 17:20:00 [只看该作者]

老师您好,您这个是生产新的表么?我这个案例类似于合并,我系统里现存的有固定字段的表,需要把不同时间段的数据读取进去。

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


加好友 发短信
等级:超级版主 帖子:105965 积分:538900 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/6 17:21:00 [只看该作者]


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


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2020/6/6 17:41:00 [只看该作者]

如果希望出现一个打开文件对话框,合并用户指定的文件,可以参考下面的代码:

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg
.Filter"Access文件|*.mdb" '设置筛选器
If 
dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim 
mg As New Merger
    
mg.SourcePath = dlg.FileName
    
mg.SourceTableName = "订单"
    
mg.DataTableName = "订单"
    
mg.Merge()
End If



老师这段代码,既然是合并指定的文件,那为什么还需要知道指定合并表的名称呢?需要合并的EXCEl表的名称必须在代码中固定化么?


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


加好友 发短信
等级:一尾狐 帖子:480 积分:4464 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/6/6 18:18:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls|excel2007|*.xlsx" '设置筛选器
'合并EXCEL数据--------------------------
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "Sheet1$"
    mg.DataTableName = "产品xxx"
    If right(dlg.filename,4)=".xls" Then
        mg.Format = "Excel" '入格式
    Else
        mg.Format = "Excel2007"
    End If
    mg.Merge()
End If

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


加好友 发短信
等级:超级版主 帖子:105965 积分:538900 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/7 20:38:00 [只看该作者]

回5楼,一个execl可能有多个sheet,不指定名称不知道合并哪一个

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


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2020/6/8 9:32:00 [只看该作者]

好的明白了老师,谢谢!

 回到顶部