以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]文件路径手动填写 (http://foxtable.net/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,这样也可以
|
||||
-- 作者:dixiaxiaodan -- 发布时间:2015/12/25 9:23:00 -- 以下是引用大红袍在2015/12/24 14:25:00的发言: 红袍哥太给力了,谢谢!
如果是合并excel,这样也可以
|
||||
-- 作者:dixiaxiaodan -- 发布时间:2015/12/25 10:53:00 -- 以下是引用大红袍在2015/12/24 14:25:00的发言: 红袍哥,我在你这个基础上改了改,想实现的是直接合并选择的文件。如果是合并excel,这样也可以
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过程中,有些含有特殊符号的列无法导入。例如
|
||||
-- 作者:大红袍 -- 发布时间: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都导入进来,这些数据表的格式是一样的 |