Foxtable(狐表)用户栏目专家坐堂 → [求助]导入excel或者txt


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

主题:[求助]导入excel或者txt

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]导入excel或者txt  发帖心情 Post By:2016/4/8 16:54:00 [只看该作者]

导入excel或者txt。
怎么能做到无论选择excel或者txt都能自动判断,导入呢。就不用就2个按钮,分别导入excel和导入txt了。一个按钮就搞定。

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim ip As New Merger
    ip.SourcePath = dlg.FileName '指定数据文件
    ip.SourceTableName = "订单执行统计表$" '指定要导入的表    
    ip.DataTableName ="订单" '导入后的表名    
    ip.Format = "Excel" '指定导入格式
    ip.merge()
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/8 17:12:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "文件|*.xls;*.txt" '设置筛选器
If dlg.ShowDialog = DialogResult.OK Then
    Dim info As new fileinfo(dlg.FileName)
    msgbox(info.Extension)
    If info.Extension = ".txt" Then
        msgbox("文本代码")
    ElseIf info.Extension = ".xls" Then
        msgbox("excel代码")
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:12 积分:136 威望:0 精华:0 注册:2016/3/31 22:58:00
  发帖心情 Post By:2016/4/8 17:42:00 [只看该作者]

图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/4/8 18:22:00 [只看该作者]


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sn.txt


.NET Framework 版本:2.0.50727.8670
Foxtable 版本:2015.12.22.1
错误所在事件:
详细错误信息:
'C:\Users\基永\Desktop\SN.txt'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。


Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "文件|*.xls;*.txt" '设置筛选器
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sn.txt

If dlg.ShowDialog = DialogResult.OK Then
    Dim info As new fileinfo(dlg.FileName)
    If info.Extension = ".txt" Then
        Dim mg As New Merger
        mg.SourcePath = dlg.filename '指定数据文件所在目录
        msgbox(0)
        mg.Format = "Delimited" '指定格式
        msgbox(1)
        mg.SourceTableName = "SN" '指定要合并的文件,无需扩展名
        msgbox(2)
        mg.Header = True
        msgbox(3)
        mg.DataTableName = "扫描配货明细" '指定接收数据的表
        msgbox(4)
        mg.Merge() '开始合并-----提示报错,需要导入的SN.txt不是有效的路径
        msgbox(5)
    ElseIf info.Extension = ".xls" Then
        Dim mg As New Merger
        mg.SourcePath = dlg.filename
        mg.Format = "excel" '指定格式
        mg.SourceTableName = "序列号$" '指定要合并的表
        mg.DataTableName = "扫描配货明细" '指定接收数据的表
        mg.Merge() '开始合并
    End If
End If
For Each dr As DataRow In DataTables("扫描配货明细").DataRows
    If dr("SN") = "" Then
        dr.Delete
    End If
Next
DataTables("扫描配货明细").Save





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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/9 9:18:00 [只看该作者]

 If info.Extension = ".txt" Then
        Dim mg As New Merger
        mg.SourcePath = Info.Path '指定数据文件所在目录

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/4/11 9:19:00 [只看该作者]

TXT里面是这样。
096597223
096597224
前面第一位是有0的。怎么导入到ft后,第一位0没了。
变为了
96597223
96597224
这是怎么回事?
excel就没这个问题。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/11 9:21:00 [只看该作者]

 那你可以用代码合并。

 

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

 


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]merge合并是不是不能后台统计啊。  发帖心情 Post By:2016/4/11 10:49:00 [只看该作者]

datacolchange:
msgbox(11)----执行
Dim sum As Integer = DataTables("扫描配货明细").SQLCompute("Sum(数量)","状态 = '生产结束扫描完成'")
ssdsl.text = "实扫到数量:" & sum
msgbox(22)---执行

但执行了红色的代码,merge excel后。sum的值没有改变。


Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "文件|*.xls;*.txt" '设置筛选器
If dlg.ShowDialog = DialogResult.OK Then
    Dim info As new fileinfo(dlg.FileName)
    If info.Extension = ".txt" Then
        Dim strs As String = FileSys.ReadAllText(dlg.FileName)
        strs = strs.Replace(vblf,"")
        Dim rs() As String = strs.Split(vbcr)
        For i As Integer = 0 To rs.Length - 1
            Dim dr As DataRow = DataTables("扫描配货明细").Addnew()
            dr("SN") = rs(i)
        Next
    ElseIf info.Extension = ".xls" Then
        DataTables("扫描配货明细").Addnew()
        Dim mg As New Merger
        mg.SourcePath = dlg.filename
        mg.Format = "excel" '指定格式
        mg.SourceTableName = "序列号$" '指定要合并的表
        mg.DataTableName = "扫描配货明细" '指定接收数据的表
        mg.Merge() '开始合并
    End If
End If
For Each dr As DataRow In DataTables("扫描配货明细").DataRows
    If dr("SN") = "" Then
        dr.Delete
    End If
Next
DataTables("扫描配货明细").Save

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/11 10:50:00 [只看该作者]

 那行没有保存肯定不会SQLCompute

 

 你可以在datacolchanged事件写 e.DataRow.Save


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/4/11 10:57:00 [只看该作者]

保存过的。
另外导入txt。能正常统计。
导入excel。就不统计。

 回到顶部
总数 19 1 2 下一页