Foxtable(狐表)用户栏目专家坐堂 → 如何用代码控制将一个excel的几列导入到本地表中


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

主题:如何用代码控制将一个excel的几列导入到本地表中

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
如何用代码控制将一个excel的几列导入到本地表中  发帖心情 Post By:2023/11/30 16:12:00 [只看该作者]

本地表已创建有【列1,列2,列3】,excel有【列1,列3,列4,列5
不知道excel的表列导入时和本地表的列怎么控制对应关系,另外,这些操作大概代码怎么实现不太清楚。

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/30 16:14:00 [只看该作者]

使用Mergerhttp://www.foxtable.com/webhelp/topics/0685.htm,只要有相同列名的就可以导入,不用关心怎么对应

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/11/30 16:51: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.Format = "Excel2007" '指定格式
    mg.SourceTableName = "测试导入"
    mg.DataTableName = "结转更新数据"
    mg.Merge()
End If

执行上面代码,选择桌面上的excel文件(文件名是:测试导入.xlsx),点击确定后,提示下面的错误。怎么回事啊?
Microsoft Access 数据库引擎找不到对象“测试导入”。请确保该对象存在,并正确拼写其名称和路径名。如果“测试导入”不是本地对象,请检查网络连接或与服务器管理员联系。
[此贴子已经被作者于2023/11/30 16:54:37编辑过]

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


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

是要把mdb的数据导入execl文件?而不是把execl文件导入mdb数据库?

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/11/30 17:11:00 [只看该作者]

是要把本地的excel文件导入到狐表的【内部数据源表】中啊。
这样还是提示同样的错误,怎么回事啊?
Dim mg As New Merger
mg.SourcePath = "C:\Users\diansggss\Desktop\测试导入.xlsx"
mg.Format = "excel2007" '指定格式
mg.SourceTableName = "测试导入"
mg.DataTableName = "结转更新数据"
mg.Merge()
[此贴子已经被作者于2023/11/30 17:11:50编辑过]

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


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

测试导入.xlsx里面sheet的名称是什么?

mg.SourceTableName = "这里改为sheet名称$"

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/11/30 17:27:00 [只看该作者]

可以了。有办法动态获取到第一个sheet的名字吗
[此贴子已经被作者于2023/11/30 17:27:49编辑过]

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


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

http://www.foxtable.com/webhelp/topics/1150.htm

Dim Book As New XLS.Book("c:\reports\test.xls")
msgbox(Book.Sheets(0).name)

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2023/12/1 13:26:00 [只看该作者]

能否获取第一个sheet的各列的第一行的列名啊,循环看看,是否跟内部数据源的列名一致啊

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/1 13:45:00 [只看该作者]

Dim Book As New XLS.Book("c:\reports\test.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 1 To Sheet.Cols.Count -1
msgbox(Sheet(0,n).text)
next

 回到顶部
总数 19 1 2 下一页