Foxtable(狐表)用户栏目专家坐堂 → 继续求助 T,.T


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

主题:继续求助 T,.T

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


加好友 发短信
等级:婴狐 帖子:15 积分:161 威望:0 精华:0 注册:2018/2/26 13:56:00
继续求助 T,.T  发帖心情 Post By:2018/3/6 23:00:00 [只看该作者]

    以下是我编写的部分程序,功能是导入数据到数据表中,数据表名称为“物资信息",excel文件中的表名称为”物资信息“,其余表都已经删除,但是每次测试的时候都提示我找不到”物资信息“表,
mg.SourceTableName =worksheet.Name 部分将等号后面改为”物资信息“后也是提示找不到,想知道这是为啥………………  
是我的office没装对么?可问题是在用messagebox测试读取到的excel文件表名称时又是对的。  T,.T


Dim NewOp As New OpenFileDialog
newop.filter="Excel文件|*.xls"
newop.MultiSelect=False
newop.Title="选择导入物资信息文件"
newop.ShowDialog

If newop.FileName=""
    Exit Sub
Else
    Dim WorkBook As new XLS.Book(newop.FileName)
    Dim worksheet As XLS.Sheet=workbook.sheets(0)
    ‘ messagebox.Show(worksheet.Name)
    Dim mg As new merger
    mg.SourcePath = newop.FileName
    mg.Format ="Excel"
    mg.SourceTableName =worksheet.Name ' 指定要合并的表
    mg.DataTableName ="物资信息" '指定要接受数据的表
    Dim i As Integer=0
    For i=0 To Tables("物资信息").Rows.Count-1
        Tables("物资信息").rows(0).Remove
    Next
    try
        mg.merge()
    catch ex As exception
        messagebox.Show(ex.message)
        Exit Sub
    End try
end if

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


加好友 发短信
等级:七尾狐 帖子:1685 积分:15638 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2018/3/6 23:03:00 [只看该作者]

mg.DataTableName ="sheet1" 可能就好了

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


加好友 发短信
等级:婴狐 帖子:15 积分:161 威望:0 精华:0 注册:2018/2/26 13:56:00
  发帖心情 Post By:2018/3/6 23:04:00 [只看该作者]

试过了,,,不管改什么名字都提示找不到,我才尝试用worksheet.name 来看看是不是读取对了的,结果反馈的字符是”物资信息“,但程序就是说找不到  T,.T


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


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

mg.SourceTableName = "物资信息$"
或者
mg.SourceTableName ="sheet1$" 

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


加好友 发短信
等级:婴狐 帖子:15 积分:161 威望:0 精华:0 注册:2018/2/26 13:56:00
  发帖心情 Post By:2018/3/6 23:09:00 [只看该作者]

又加了这段话去判断


    If worksheet.name="物资信息"
        messagebox.Show("1")
    Else
        messagebox.Show("0")
    End If


结果返回的是 ”1“  O.O  好郁闷…………

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


加好友 发短信
等级:婴狐 帖子:15 积分:161 威望:0 精华:0 注册:2018/2/26 13:56:00
  发帖心情 Post By:2018/3/6 23:17:00 [只看该作者]

虽然不知道为什么,但感觉好神奇,居然没报错了。


O.O   受教了 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/7 9:56:00 [只看该作者]

mg.SourceTableName =worksheet.Name ' 指定要合并的表

 

改成

 

mg.SourceTableName =worksheet.Name.replace("$", "") & "$"

[此贴子已经被作者于2018/3/7 9:57:02编辑过]

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


加好友 发短信
等级:婴狐 帖子:15 积分:161 威望:0 精华:0 注册:2018/2/26 13:56:00
嘿嘿  发帖心情 Post By:2018/3/7 22:11:00 [只看该作者]

在表名后面加“$" 就可以正常的导入了,  worksheet.name & "$" 这样也行  =.=   

 回到顶部