Foxtable(狐表)用户栏目专家坐堂 → [求助]从excel表中复制数据到表中


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

主题:[求助]从excel表中复制数据到表中

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


加好友 发短信
等级:九尾狐 帖子:2240 积分:18457 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]从excel表中复制数据到表中  发帖心情 Post By:2020/10/7 10:13:00 [只看该作者]

想动态读取excel表的数据,添加到一个临时表中。
        Dim Book As New XLS.Book(“外部表全路径名称”)
        Dim App As New MSExcel.Application
        Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(y)
        Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
        Dim Rg As MSExcel.Range = Ws.UsedRange
        
        DataTables("目标临时表").DataRows.Clear
        DataTables("目标临时表").AddNew(rg.Rows.count)

rg.copy
Tables("目标临时表").Select(0,0)
Syscmd.Edit.Paste()

这样似乎不行,数据没有进到“目标临时表”中

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


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


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


加好友 发短信
等级:九尾狐 帖子:2240 积分:18457 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2020/10/7 10:51:00 [只看该作者]

我就是用的这个办法。
主要是效率太低了。
8*31的表格,要用1.6秒,有时候还要2秒多

如果能直接copy,那就完美,1秒钟都不要
[此贴子已经被作者于2020/10/7 10:59:07编辑过]

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


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

效率低但是安全不会出错!使用剪贴板,不可控!

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


加好友 发短信
等级:九尾狐 帖子:2240 积分:18457 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2020/10/7 14:44:00 [只看该作者]

因为目前的应用场景没有什么特殊字符之类的,所以我想知道如果用剪贴板,要怎么用。 我想可以先清空剪贴板,然后RG.copy,然后再到数据表中粘贴
[此贴子已经被作者于2020/10/7 14:44:06编辑过]

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


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

要保证表格所在的窗口是选中激活状态
……
rg.copy
basemainform.Select
Tables("表C").Select(0,0)
Syscmd.Edit.Paste()

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


加好友 发短信
等级:九尾狐 帖子:2240 积分:18457 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2020/10/7 17:38:00 [只看该作者]

还是贴不上去,是哪里写错了么?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:剪贴板.zip


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:剪贴板.zip


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


加好友 发短信
等级:九尾狐 帖子:2240 积分:18457 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2020/11/7 16:07:00 [只看该作者]

DataTables("XXX").DataRows.Clear

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls;*.xlsx" 
If dlg.ShowDialog = DialogResult.Ok Then 
    Dim App As New MSExcel.Application
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim Rg As MSExcel.Range = Ws.UsedRange
    
    app.Application.CutCopyMode = False
    
    rg.copy
    DataTables("XXX").AddNew(rg.Rows.count)
    basemainform.Select
    Tables("XXX").Select(0,0)
    syscmd.edit.paste()
    App.Quit
End If

运行之后,总弹出提示什么:在剪贴板中有大量信息……之类的,如何让它不显示?试了一下,用了ClipBoard.clear的话,这句代码如果加在最后,tables("XXX")界面的数据就全部空了
另外:贴进去的数据要保存怎么办?如果清空剪贴板,表中的数据就空了,保存也无意义



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


加好友 发短信
等级:九尾狐 帖子:2240 积分:18457 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2020/11/7 16:15:00 [只看该作者]

哦,可以了

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