以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]还是excel建立链接问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108297)

--  作者:小美菜
--  发布时间:2017/10/19 20:36:00
--  [求助]还是excel建立链接问题

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编辑过]

--  作者:小美菜
--  发布时间: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
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2017/10/19 21:01:00
--  

1、

 

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

 

2、

 

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

 

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

 

 


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


--  作者:有点甜
--  发布时间:2017/10/19 21:22:00
--  

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


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

--  作者:有点甜
--  发布时间: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


--  作者:小美菜
--  发布时间:2017/10/19 21:59:00
--  
谢谢,我有逐行读取现存的,只是感觉比建立连接慢,所以才一个心思搞,
--  作者:有点甜
--  发布时间:2017/10/19 22:22:00
--  

7楼的代码也不慢。

 

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