Foxtable(狐表)用户栏目专家坐堂 → 请问我有一个文件,如何导入


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

主题:请问我有一个文件,如何导入

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


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

多条的话,内容是怎样的,文件是怎样的?


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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/7/25 17:42:00 [只看该作者]

<?xml version="1.0" encoding="gbk"?>

<business comment="签名与验签"><body yylxdm="1"><input><skpbh>499903525524</skpbh><skpkl>88888888</skpkl><fplxdm>004</fplxdm><fpzt>0</fpzt><xhdwsbh>31022875380680X</xhdwsbh><xhdwmc>上海彬阳制衣有限公司</xhdwmc><xhdwdzdh>上海市金山区张堰镇甪里村2046号021-57272037</xhdwdzdh><xhdwyhzh>上海农村商业银行张堰支行327397-08010187317</xhdwyhzh><ghdwsbh>310115795662031</ghdwsbh><ghdwmc>上海汉森环宇进出口有限公司</ghdwmc><ghdwdzdh>上海市长宁区平武路80号T:021-62100959</ghdwdzdh><ghdwyhzh>中国银行上海普陀支行8150-15446508091001</ghdwyhzh><fyxm count="2"><group xh="1"><fphxz>0</fphxz><spmc>女童针织套衫</spmc><spsm></spsm><ggxh></ggxh><dw>件</dw><spsl>384</spsl><dj>29.60224</dj><je>11367.26</je><sl>0.17</sl><se>1932.43</se><hsbz>0</hsbz></group><group xh="2"><fphxz>0</fphxz><spmc>女童针织套衫</spmc><spsm></spsm><ggxh></ggxh><dw>件</dw><spsl>2007</spsl><dj>35.406597</dj><je>71061.04</je><sl>0.17</sl><se>12080.38</se><hsbz>0</hsbz></group></fyxm><qdxm count="0"/><qtxm count="1"><group xh="1"><sl>0.17</sl><se>14012.81</se><je>82428.3</je></group></qtxm><zhsl>0.17</zhsl><hjje>82428.30</hjje><hjse>14012.81</hjse><jshj>96441.11</jshj><bz>6</bz><skr></skr><fhr>朱建斌</fhr><kpr>管理员</kpr><jmbbh></jmbbh><zyspmc>女童针织套衫</zyspmc><spsm>0</spsm><qdbz>0</qdbz><ssyf>201502</ssyf><kpjh>0</kpjh><tzdbh></tzdbh><yfpdm></yfpdm><yfphm></yfphm><fpdm>3100144130</fpdm><fphm>31452422</fphm><kprq>20150204</kprq><skm>0341*6503&gt;97&gt;&lt;7+5&gt;710&lt;172&gt;&gt;/&lt;5-*00-22+/4395&lt;-*7+5/*4&lt;32629684/4&lt;60/&lt;4/401+77&gt;+41-3/*-0+1896/6601*90703&gt;7*51159&gt;8</skm><jym></jym><swjgdm>131022841</swjgdm><swjgmc>第七税务所(新)</swjgmc><tspzbz></tspzbz><qmz></qmz></input></body></business>

 

310014413031452422201502040341*6503>97><7+5>710<172>>/<5-*00-22+/4395<-*7+5/*4<32629684/4<60/<4/401+77>+41-3/*-0+1896/6601*90703>7*51159>8499903525524上海汉森环宇进出口有限公司310115795662031上海市长宁区平武路80号T:021-62100959中国银行上海普陀支行8150-1544650809100182428.3014012.8196441.11上海彬阳制衣有限公司31022875380680X上海市金山区张堰镇甪里村2046号021-57272037上海农村商业银行张堰支行327397-08010187317朱建斌管理员6N1女童针织套衫件384.0000000029.6022400011367.260.171932.432女童针织套衫件2007.0000000035.4065970071061.040.1712080.38

MIIBQwYJKoZIhvcNAQcCoIIBNDCCATACAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHATGCAQ8wggELAgEBMGkwXjELMAkGA1UEBhMCY24xFTATBgNVBAseDFb9W7Z6DlKhYDtcQDEdMBsGA1UEAx4Ueg5SoXU1W1CLwU5me6F0Bk4tX8MxGTAXBgNVBA0eEABjAGEAMQAwADAAMAAwADICBxIBAAAGE5cwCQYFKw4DAhoFADANBgkqhkiG9w0BAQEFAASBgJggDG8ff7gJ0Nq51BS4ozSRbc5oNk28Nxb4YPRHgSJkHBk5ElSXbo2LakCzHc1ELwLheectcMeKPly7AXwvykc5lTml8UI8sp3m0JkQRLUGR94CFgGEsBBcPuNy8nBzLKLy1c5qzTvEwJn2Ub8Zz72GEaqL6qjw/j//zZBzXO0T

 

 

这里面有两条明细


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


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

参考代码

 

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim txt As String = FileSys.ReadAllText(dlg.FileName, Encoding.Default)
    Dim idx As Integer = txt.IndexOf("</business>")
    Dim s1 As String = txt.SubString(0, idx+11)
    Dim s2 As String = txt.SubString(idx+12)
    msgbox(s1)
    msgbox(s2)
   
    Dim xmlDoc As New System.XML.XmlDocument
    xmlDoc.Loadxml(s1)
   
    Dim ndList  = xmlDoc.GetElementsByTagName("input")
   
    For i As Integer = 0 To ndList.count - 1
        Dim fphm As String = ndList(i).Item("fphm").InnerText
        msgbox(fphm)
        Dim xhdwmc As String = ndList(i).Item("xhdwmc").InnerText
        msgbox(xhdwmc)
    Next
   
    ndList = xmlDoc.GetElementsByTagName("fyxm")(0).ChildNodes
   
    For i As Integer = 0 To ndList.count - 1
        Dim spmc As String = ndList(i).Item("spmc").InnerText
        msgbox(spmc)
        Dim spsl As String = ndList(i).Item("spsl").InnerText
        msgbox(spsl)
    Next
   
End If


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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/7/25 22:03:00 [只看该作者]

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

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目119.foxdb

帮我做个实例吧,我的要求是要如果是多个明细,放在明细表里,每个项目各一行

比如:fa piao号码(<fphm>):fa piao号码(<fphm>):品名(<spmc>): 单位(<dw>):商品数量(<spsl>):单价(<dj>):金额(<je>):税率(<sl>):税额(<se>):

            3100144130               31452422                女童针织套衫             件                      384                   29.60224      11367.26              0.17            1932.43

            3100144130               31452422                女童针织套衫             件                    2007                   35.406597     71061.04              0.17         12080.38

 

还有就是做一键导入功能,不是一个文件一个文件去导入,是全部一次性导入。

[此贴子已经被作者于2016/7/25 22:05:11编辑过]

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


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

单个

 

Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim txt As String = FileSys.ReadAllText(dlg.FileName, Encoding.Default)
    Dim idx As Integer = txt.IndexOf("</business>")
    Dim s1 As String = txt.SubString(0, idx+11)
    Dim s2 As String = txt.SubString(idx+12)
   
    Dim xmlDoc As New System.XML.XmlDocument
    xmlDoc.Loadxml(s1)
   
    Dim ndList  = xmlDoc.GetElementsByTagName("input")
    Dim fphm As String
    Dim xhdwmc As String
    For i As Integer = 0 To ndList.count - 1
        fphm = ndList(i).Item("fphm").InnerText
        xhdwmc = ndList(i).Item("xhdwmc").InnerText
    Next
   
    ndList = xmlDoc.GetElementsByTagName("fyxm")(0).ChildNodes
   
    For i As Integer = 0 To ndList.count - 1
        Dim spmc As String = ndList(i).Item("spmc").InnerText
        Dim se As String = ndList(i).Item("se").InnerText
        Dim dw As String = ndList(i).Item("dw").InnerText
        Dim spsl As String = ndList(i).Item("spsl").InnerText
        Dim dj As String = ndList(i).Item("dj").InnerText
        Dim je As String = ndList(i).Item("je").InnerText
        Dim r As Row = Tables("表A").AddNew
        r("第一列") = fphm
        r("第二列") = xhdwmc
        r("第三列") =spmc
        r("第四列") =spsl
        r("第五列") = dw
        r("第六列") = se
        r("第七列") = dj
        r("第八列") = je
       
    Next
   
End If


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


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

参考代码,导入比较耗时

 

Dim dlg As new FolderBrowserDialog
If dlg.ShowDialog = DialogResult.Ok Then
    Tables("表a").StopRedraw
    For Each dir As String In FileSys.GetDirectories(dlg.SelectedPath)
        For Each f As String In FileSys.GetFiles(dir)
            If f.EndsWith(".log") Then
                Dim txt As String = FileSys.ReadAllText(f, Encoding.Default)
                Dim idx As Integer = txt.IndexOf("</business>")
               
                Dim s1 As String = txt.SubString(0, idx+11)
                Dim s2 As String = txt.SubString(idx+12)
                Dim xmlDoc As New System.XML.XmlDocument
                xmlDoc.Loadxml(s1)
               
                Dim ndList  = xmlDoc.GetElementsByTagName("input")
               
               
                Dim fphm As String
                Dim xhdwmc As String
                For i As Integer = 0 To ndList.count - 1
                    If ndList(i).Item("fphm") IsNot Nothing Then fphm = ndList(i).Item("fphm").InnerText
                    If ndList(i).Item("xhdwmc") IsNot Nothing Then xhdwmc = ndList(i).Item("xhdwmc").InnerText
                Next
                If fphm <> Nothing Then
                    ndList = xmlDoc.GetElementsByTagName("fyxm")(0).ChildNodes
                    For i As Integer = 0 To ndList.count - 1
                        Dim spmc As String = ndList(i).Item("spmc").InnerText
                        Dim se As String = ndList(i).Item("se").InnerText
                        Dim dw As String = ndList(i).Item("dw").InnerText
                        Dim spsl As String = ndList(i).Item("spsl").InnerText
                        Dim dj As String = ndList(i).Item("dj").InnerText
                        Dim je As String = ndList(i).Item("je").InnerText
                        Dim r As Row = Tables("表A").AddNew
                        r("第一列") = fphm
                        r("第二列") = xhdwmc
                        r("第三列") =spmc
                        r("第四列") =spsl
                        r("第五列") = dw
                        r("第六列") = se
                        r("第七列") = dj
                        r("第八列") = je
                       
                    Next
                End If
            End If
        Next
    Next
    Tables("表a").ResumeRedraw
End If


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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/7/26 8:52:00 [只看该作者]

<?xml version="1.0" encoding="gbk"?>

<business comment="签名与验签"><body yylxdm="1"><input><skpbh>499903525524</skpbh><skpkl>88888888</skpkl><fplxdm>004</fplxdm><fpzt>0</fpzt><xhdwsbh>31022875380680X</xhdwsbh><xhdwmc>上海彬阳制衣有限公司</xhdwmc><xhdwdzdh>上海市金山区张堰镇甪里村2046号021-57272037</xhdwdzdh><xhdwyhzh>上海农村商业银行张堰支行327397-08010187317</xhdwyhzh><ghdwsbh>310228798904294</ghdwsbh><ghdwmc>上海鼎间服装设计制作有限公司</ghdwmc><ghdwdzdh>上海市延安西路2299号虹桥世贸商城5C64T:021-62361717</ghdwdzdh><ghdwyhzh>上海银行江苏路支行316434-03000304173</ghdwyhzh><fyxm count="4"><group xh="1"><fphxz>0</fphxz><spmc>针织背心</spmc><spsm></spsm><ggxh></ggxh><dw>件</dw><spsl>6</spsl><dj>38.461667</dj><je>230.77</je><sl>0.17</sl><se>39.23</se><hsbz>0</hsbz></group><group xh="2"><fphxz>0</fphxz><spmc>梭织连衣裙</spmc><spsm></spsm><ggxh></ggxh><dw>件</dw><spsl>20</spsl><dj>50.4275</dj><je>1008.55</je><sl>0.17</sl><se>171.45</se><hsbz>0</hsbz></group><group xh="3"><fphxz>0</fphxz><spmc>针织裙子</spmc><spsm></spsm><ggxh></ggxh><dw>件</dw><spsl>37</spsl><dj>33.333243</dj><je>1233.33</je><sl>0.17</sl><se>209.67</se><hsbz>0</hsbz></group><group xh="4"><fphxz>0</fphxz><spmc>外套+圆领衫+长裤套装</spmc><spsm></spsm><ggxh></ggxh><dw>件</dw><spsl>31</spsl><dj>57.692258</dj><je>1788.46</je><sl>0.17</sl><se>304.04</se><hsbz>0</hsbz></group></fyxm><qdxm count="0"/><qtxm count="1"><group xh="1"><sl>0.17</sl><se>724.39</se><je>4261.11</je></group></qtxm><zhsl>0.17</zhsl><hjje>4261.11</hjje><hjse>724.39</hjse><jshj>4985.50</jshj><bz></bz><skr></skr><fhr>朱建斌</fhr><kpr>朱建斌</kpr><jmbbh></jmbbh><zyspmc>针织背心</zyspmc><spsm>0</spsm><qdbz>0</qdbz><ssyf>201501</ssyf><kpjh>0</kpjh><tzdbh></tzdbh><yfpdm></yfpdm><yfphm></yfphm><fpdm>3100144130</fpdm><fphm>31452411</fphm><kprq>20150129</kprq><skm>032-86&lt;-95-9*94-&gt;&gt;&gt;83&lt;9/595*0&lt;1&lt;**4+1&gt;+67+44*&gt;+*9&gt;8/960+6&gt;-85&gt;38&gt;6041&gt;5-4-2-98251-*&lt;9968/&lt;4/+701/90703+36-4+&gt;91*</skm><jym></jym><swjgdm>131022841</swjgdm><swjgmc>第七税务所(新)</swjgmc><tspzbz></tspzbz><qmz></qmz></input></body></business>

 

31001441303145241120150129032-86<-95-9*94->>>83<9/595*0<1<**4+1>+67+44*>+*9>8/960+6>-85>38>6041>5-4-2-98251-*<9968/<4/+701/90703+36-4+>91*499903525524上海鼎间服装设计制作有限公司310228798904294上海市延安西路2299号虹桥世贸商城5C64T:021-62361717上海银行江苏路支行316434-030003041734261.11724.394985.50上海彬阳制衣有限公司31022875380680X上海市金山区张堰镇甪里村2046号021-57272037上海农村商业银行张堰支行327397-08010187317朱建斌朱建斌N1针织背心件6.0000000038.46166700230.770.1739.232梭织连衣裙件20.0000000050.427500001008.550.17171.453针织裙子件37.0000000033.333243001233.330.17209.674外套+圆领衫+长裤套装件31.0000000057.692258001788.460.17304.04

MIIBQwYJKoZIhvcNAQcCoIIBNDCCATACAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHATGCAQ8wggELAgEBMGkwXjELMAkGA1UEBhMCY24xFTATBgNVBAseDFb9W7Z6DlKhYDtcQDEdMBsGA1UEAx4Ueg5SoXU1W1CLwU5me6F0Bk4tX8MxGTAXBgNVBA0eEABjAGEAMQAwADAAMAAwADICBxIBAAAGE5cwCQYFKw4DAhoFADANBgkqhkiG9w0BAQEFAASBgKB+JCgclk1hZKDOcuoppUndGw+A1KfGJjksAu7AGS5eXqE7VB/cmUXFlAen7wEmSLVLAkI8kQd3BBouVDopNBjvn2rM5+cSd2KxKT4bm/bOPBx5a9KhXVBicMBbx4LPtt5+rgm0MwI9PO7GhBy2MpVITXLsjfn3Ghj4R0XO+HSi

 

按照这个会有重复数据出现

 


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

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


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

测试,没问题,请看15楼。

 

肯定是你有重复的文件导致的。


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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/7/26 12:11:00 [只看该作者]

知道怎么回事了,里面有两个文件,指定一个就可以了

 If f.EndsWith("_verifysign.log") Then

现在还有一个问题:

如果第九列的数据为3的话,查找与第一列相同的数据,并删除和第一列相同,但是第九列数据为0的行

 

这句代码怎么写啊

[此贴子已经被作者于2016/7/26 12:12:30编辑过]

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


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

For Each s As String In DataTables("表A").GetValues("第一列", "第九列 = '3'")
    DataTables("表A").DeleteFor("第一列 = '" & s & "' and 第九列 = '0'")
Next

 回到顶部
总数 29 上一页 1 2 3 下一页