以文本方式查看主题 - 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 -- 虽然不知道为什么,但感觉好神奇,居然没报错了。 |
-- 作者:有点甜 -- 发布时间: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 & "$" 这样也行 =.= |