以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  继续求助 T,.T  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115410)

--  作者:Kariyia
--  发布时间:2018/3/6 23:00:00
--  继续求助 T,.T
    以下是我编写的部分程序,功能是导入数据到数据表中,数据表名称为“物资信息",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
--  发布时间:2018/3/6 23:03:00
--  
mg.DataTableName ="sheet1" 可能就好了
--  作者:Kariyia
--  发布时间:2018/3/6 23:04:00
--  
试过了,,,不管改什么名字都提示找不到,我才尝试用worksheet.name 来看看是不是读取对了的,结果反馈的字符是”物资信息“,但程序就是说找不到  T,.T


--  作者:有点蓝
--  发布时间:2018/3/6 23:08:00
--  
mg.SourceTableName = "物资信息$"
或者
mg.SourceTableName ="sheet1$" 

--  作者:Kariyia
--  发布时间:2018/3/6 23:09:00
--  
又加了这段话去判断


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


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

--  作者:Kariyia
--  发布时间:2018/3/6 23:17:00
--  
虽然不知道为什么,但感觉好神奇,居然没报错了。


O.O   受教了 
--  作者:有点甜
--  发布时间:2018/3/7 9:56:00
--  

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

 

改成

 

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

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

--  作者:Kariyia
--  发布时间:2018/3/7 22:11:00
--  嘿嘿
在表名后面加“$" 就可以正常的导入了,  worksheet.name & "$" 这样也行  =.=