以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]文件路径手动填写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79105)

--  作者:dixiaxiaodan
--  发布时间:2015/12/24 13:19:00
--  [求助]文件路径手动填写
 想实现的功能就是,在窗口中添加一个textbox控件和一个button,在textbox中输入文件路径,点击button,即把textbox中指定的文件内容导入到foxtable。
或者其它方法,实现类似功能。

--  作者:大红袍
--  发布时间:2015/12/24 14:24:00
--  

参考

 

http://www.foxtable.com/help/topics/0685.htm

 

 


--  作者:大红袍
--  发布时间:2015/12/24 14:25:00
--  

如果是合并excel,这样也可以

 

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


--  作者:dixiaxiaodan
--  发布时间:2015/12/25 9:23:00
--  
以下是引用大红袍在2015/12/24 14:25:00的发言:

如果是合并excel,这样也可以

 

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

红袍哥太给力了,谢谢!图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:dixiaxiaodan
--  发布时间:2015/12/25 10:53:00
--  
以下是引用大红袍在2015/12/24 14:25:00的发言:

如果是合并excel,这样也可以

 

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

红袍哥,我在你这个基础上改了改,想实现的是直接合并选择的文件。
Dim mg As New Merger
Dim dlg As New OpenFileDialog
Dim s As String
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
s = dlg.FileName
\'s = "E:\\可靠性\\资料\\test.xlsx"
mg.SourcePath = s
\'mg.SourcePath = "e:\\可靠性\\Excel报表\\订单.xlsx"
\'mg.SourcePath = e.Form.Controls("TextBox1").Value
mg.Format = "excel" \'指定格式
mg.SourceTableName = "sheet1$" \'指定要合并的表
mg.DataTableName = "订单" \'指定接收数据的表
mg.Merge() \'开始合并

但是行不通,需要怎样才能将选定的文件路径复制给mg.SourcePath呢?
--  作者:大红袍
--  发布时间:2015/12/25 10:56:00
--  

Dim dlg As New OpenFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.OK Then
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.Format = "excel" \'指定格式
    mg.SourceTableName = "sheet1$" \'指定要合并的表
    mg.DataTableName = "订单" \'指定接收数据的表
    mg.Merge() \'开始合并
End If

--  作者:dixiaxiaodan
--  发布时间:2015/12/25 11:10:00
--  
以下是引用大红袍在2015/12/25 10:56:00的发言:

Dim dlg As New OpenFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.OK Then
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.Format = "excel" \'指定格式
    mg.SourceTableName = "sheet1$" \'指定要合并的表
    mg.DataTableName = "订单" \'指定接收数据的表
    mg.Merge() \'开始合并
End If


嗯嗯,这回可以了,好奇怪,为什么我上面那个就行不通,谢谢红袍哥


--  作者:dixiaxiaodan
--  发布时间:2015/12/25 13:50:00
--  
将Excel文件导入或合并到foxtable过程中,有些含有特殊符号的列无法导入。例如
CY TSN FH TSN 送修至拆下时间/FH 送修至拆下时间/CY
有没有什么办法,在不改变Excel文件列名的情况下,完成数据合并

--  作者:大红袍
--  发布时间:2015/12/25 14:17:00
--  

用代码合并

 

http://www.foxtable.com/help/topics/2334.htm

 

 


--  作者:dixiaxiaodan
--  发布时间:2016/1/13 16:55:00
--  
Dim Book1 As New XLS.Book("E:\\可靠性\\软件\\10月\\飞行小时循环\\73n\\1月.xls")
Dim Sheet1 As XLS.Sheet = Book1.Sheets(0)
Tables("飞行小时").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = { "ACReg" ,"Msn","TsnFh","TsnCy","TsnFd","LogQty","TotFh","TotCy","Blocktime","RevFh","NonReFh","TotFd","RevCy","NRevCy","Fullp","Flights" }
\'\'注意下面的循环变量从2开始,而不是从0开始,因为Excel表的第一行 第二行是标题
For n As Integer = 2 To Sheet1.Rows.Count -1
    Dim bh As String = Sheet1(n,1).Text
    If DataTables("飞行小时").Find("Msn = \'" & bh & "\'") Is Nothing Then \'如果不存在同Msn的数据
        Dim r As Row = Tables("飞行小时").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet1(n,m).Value
        Next
    End If
Next
Tables("飞行小时").ResumeRedraw()

红袍哥,上面是我写的代码,但是目前只能实现将一个excel表数据导入进来,我想实现的功能是能够将E:\\可靠性\\软件\\10月\\飞行小时循环\\73n路径下的所有excel都导入进来,这些数据表的格式是一样的