Foxtable(狐表)用户栏目专家坐堂 → [求助]还是excel建立链接问题


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

主题:[求助]还是excel建立链接问题

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


加好友 发短信
等级:三尾狐 帖子:651 积分:4945 威望:0 精华:0 注册:2016/1/16 22:42:00
[求助]还是excel建立链接问题  发帖心情 Post By:2017/10/19 20:36:00 [只看该作者]


If Connections.Contains("AllExcelImport")=True Then  Connections.Delete("AllExcelImport")
If Vars("gBigBuyFile").Contains(".xlsx")=True OrElse Vars("gBigBuyFile").Contains(".XLSX")=True Then
    Connections.Add("AllExcelImport","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Vars("gBigBuyFile") & ";Extended Properties=""EXCEL 12.0;HDR=NO;IMEX=1"";")
    '老版本     Connections.Add("AllExcelImport","Provider=Microsoft.JET.OLEDB.12.0;Data Source=" & Vars("gBigBuyFile") & ";Extended Properties=""EXCEL 12.0;HDR=NO;IMEX=1"";")
ElseIf Vars("gBigBuyFile").Contains(".xls")=True OrElse Vars("gBigBuyFile").Contains(".XLS")=True Then
     Connections.Add("AllExcelImport","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Vars("gBigBuyFile") & ";Extended Properties=""EXCEL 8.0;HDR=NO;IMEX=1"";")
    Output.Show(Vars("gBigBuyFile"))

    '老版本    Connections.Add("AllExcelImport","Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & Vars("gBigBuyFile") & ";Extended Properties=""EXCEL 8.0;HDR=NO;IMEX=1"";")
End If
For Each CN As   Connection In ConnectionS
 Output.Show( Cn.NAME)
Next

运行结果
C:\Users\handstion\Desktop\Table.xls
项目数据

中途提醒"AllExcelImport"建立失败

打开C:\Users\handstion\Desktop\Table.xls文件时出现

图片点击可在新窗口打开查看此主题相关图片如下:无标题1.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/10/19 20:55:07编辑过]

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


加好友 发短信
等级:三尾狐 帖子:651 积分:4945 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2017/10/19 20:41:00 [只看该作者]

发布的程序,在另外一台机子运行,也是excel报错
代码是
Dim App As New MSExcel.Application
try
    Dim Wbook As MSExcel.Workbook = App.WorkBooks.Open(inFileName)
    Dim TmpSheet As MSExcel.WorkSheet = Wbook.WorkSheets(SheetName)'"RU1805分笔")
    Dim Rg As MSExcel.Range = tmpsheet.cells(1,1)
    Dim N As Integer = tmpsheet.Range("a65536").End(-4162).Row - 1
    app.quit
Catch ex As Exception
    OutputInfo( True,"【Fun期货交易导入】导入失败!!!" )
    app.quit
End try
错误窗口是:

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看


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


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

1、

 

下载信息  [文件大小:312.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:excel作为数据源_合并.table

 

2、

 

把 000208D5 的注册表的选项删除,类似

 

http://www.cnblogs.com/bile/p/3520439.html

 

 


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


加好友 发短信
等级:三尾狐 帖子:651 积分:4945 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2017/10/19 21:18:00 [只看该作者]

第二个问题解决了,第一个仍然不行,我把excel文件传来,望老师帮助一下,我怀疑是excel文件问题,这个文件是用其它直接生成的,我也有xls格式excel文件,是手工做的,也能导入
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:table.xls


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


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

你这个文件,实际上是txt,而不是excel,它只是改成xls后缀名而已。


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


加好友 发短信
等级:三尾狐 帖子:651 积分:4945 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2017/10/19 21:24:00 [只看该作者]

可是发布后,在另外一台机子,却能正常运行;如果用我上面第二种方法,它就能导入,但速度太慢
[此贴子已经被作者于2017/10/19 21:25:42编辑过]

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


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

txt可以这样合并

 

Dim dlg As new OpenFileDialog
dlg.Filter = "文本文件|*.txt;*.xls"
Tables("表A").StopRedraw
If dlg.ShowDialog = DialogResult.OK Then
    Dim strs As String = FileSys.ReadAllText(dlg.FileName,encoding.default)
    Dim rs() As String = strs.Split(chr(10))
    For i As Integer = 0 To rs.Length - 1
        Dim cs() As String = rs(i).Split(chr(9))
        If cs.Length = 24 Then
            output.show(cs(0) & " " & cs(1))
            'Dim dr As DataRow = DataTables("表A").Addnew()
           
        End If
    Next
End If
Tables("表A").ResumeRedraw


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


加好友 发短信
等级:三尾狐 帖子:651 积分:4945 威望:0 精华:0 注册:2016/1/16 22:42:00
  发帖心情 Post By:2017/10/19 21:59:00 [只看该作者]

谢谢,我有逐行读取现存的,只是感觉比建立连接慢,所以才一个心思搞,

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


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

7楼的代码也不慢。

 

如果你用vba读取,你要用二维数组读取,会快一些。


 回到顶部