Foxtable(狐表)用户栏目专家坐堂 → 【已解决】(获取网页表格内容保存狐表、获取字符串组内指定位置的字符串)[求助]我想获取表格内容到狐表表A内,怎么写?


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

主题:【已解决】(获取网页表格内容保存狐表、获取字符串组内指定位置的字符串)[求助]我想获取表格内容到狐表表A内,怎么写?

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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
【已解决】(获取网页表格内容保存狐表、获取字符串组内指定位置的字符串)[求助]我想获取表格内容到狐表表A内,怎么写?  发帖心情 Post By:2019/3/20 12:34:00 [显示全部帖子]

[求助]我想获取表格内容到狐表表A内,怎么写?

这代码没看懂。

 

Dim web As System.Windows.Forms.WebBrowser = e.form.controls("webbrowser1").Basecontrol
Dim elems As object = web.Document.GetElementsByTagName("div")
Dim ls As new List(of String)
For Each elem As object In elems
    If elem.getattribute("classname") = "cell" Then
        ls.add(elem.innerText)
    End If
Next

msgbox(ls.count)
If ls.count >= 10 Then
    
    Dim dr As Row = Tables("表A").AddNew()
    dr("第一列")=ls(0)
    dr("第二列")=ls(1)
    dr("第三列")=ls(2)
    dr("第四列")=ls(3)
End If

 

网页如下:



此主题相关图片如下:获取.jpg
按此在新窗口浏览图片

 

<div class="z_table">

<table>

<thead>

<tr>

<th width="140">订单编号</th><th width="112">订单时间</th><th width="120">发件人(电话)</th><th width="10%">发件人地址</th><th width="10%">收件人(电话)</th><th width="10%">收件人地址</th><th width="undefined">揽件人</th><th width="undefined">收件网点</th><th width="undefined">订单来源</th><th width="undefined">详细来源</th><th width="undefined">大头笔</th><th width="undefined">二段码</th><th width="undefined">三段码</th><th width="undefined">集包地</th><th width="undefined">派件网点</th></tr>

</thead>

<tbody>

<tr>

<td align="center">19031****755094102</td>

<td align="center">2019-03-19 09:05</td>

<td align="center" class="protection-temple">福佳 185****5039</td>

<td align="center" class="protection-temple">湖南省长沙市望城区********流园B7库</td>

<td id="receivePhone" align="center" class="protection-temple">张维英--180****6191<!--<br--> <button class="btn_sms layui-btn layui-btn-warm layui-btn-xs">发送短信</button> </td><td align="center" class="protection-temple">四川省巴中市恩阳区************茶坝街道</td>

<td align="center"></td>

<td align="center">长沙市场部</td><td align="center">电子面单-菜鸟平台</td>

<td align="center"></td><td align="center">620- 南充中转站</td><td align="center">59-28</td>

<td align="center">05</td>

<td align="center">南充转</td><td align="center"></td></tr><tr>

<td align="center">19031****793504103</td><td align="center">2019-03-19 10:51</td><td align="center" class="protection-temple">王亚 0</td><td align="center" class="protection-temple">江苏省徐州市铜山区****************超市院内</td><td id="receivePhone" align="center" class="protection-temple">张维英--180****6191<!--<br--> <button class="btn_sms layui-btn layui-btn-warm layui-btn-xs">发送短信</button> </td><td align="center" class="protection-temple">四川省巴中市恩阳区************坝街道</td><td align="center"></td><td align="center"></td><td align="center">淘宝线下订单</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center">0</td><td align="center"></td></tr></tbody></table></div>

[此贴子已经被作者于2019/3/21 14:48:40编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/20 14:38:00 [显示全部帖子]

完全没看懂,不知道他是怎么取数据的
 web.Document.GetElementById("list_elem").
list_elem这是什么,他网页里没找到

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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/20 16:24:00 [显示全部帖子]

可以执行。

但是我对解析不太会
他这解析我也没看懂
    For Each tdelem As object In tdelems
        i = i + 1
        Tables("长江现货").Current(Cols(i)) = tdelem.Innertext
        Tables("长江现货").Current("录入日期") = Date.Today
        If i > 2 Then '必须要当价格区间列已经有值,才能执行以下代码
            Dim s As String = Tables("长江现货").Current("价格区间")
            Dim s2 As String = s.SubString(5,1) '价格区间中间的横杠有点特殊,不是键盘上的短横杠.所以用Asc()函数和Chr(-24150))配合来引用.
            Dim k As String = s.IndexOf(Chr(-24150)) '用Asc(s2)函数获得-的字符编码是-24150
            Tables("长江现货").Current("最高价") = s.SubString(k+1)
            Tables("长江现货").Current("最低价") = s.Remove(k)
        End If
        
        
    Next


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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/20 17:40:00 [显示全部帖子]

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

网页如下

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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/20 17:50:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自定义用户管理之二.table

是这样的,麻烦看下,我也不会循环tr、td。复杂一点就不会了

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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 10:37:00 [显示全部帖子]

哦哦哦,原来可以这么简单,之前我获取的信息成为表格相当复杂。
问问关于字符串的履历
我有字符串“等级、幼狐、帖子、194、积分、威望、精华、注册
我想用for..next遍历出来,办成表格内的一行,这需要怎么写?
看你用几行代码就写出来了,我之前是判断字符串的格式分在指定列的

For i As Integer = 1 To trs.count-1
    Dim tr = trs(i)
    Dim tds = tr.GetElementsByTagName("td")
    msgbox(tds(0).Innertext)
    msgbox(tds(1).Innertext)
    msgbox(tds(2).Innertext)
Next

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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 11:32:00 [显示全部帖子]

不是不是,不是这样的,这样每一个都出来了。我只需要指定为止的出来。比如第二位“幼狐”显示出来

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


加好友 发短信
等级:六尾狐 帖子:1486 积分:10582 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/3/21 12:59:00 [显示全部帖子]

Dim s As String = "张维英--15616161616 发送短信 "
Dim arr() As String = s.split("--")
msgbox(arr(1))
请教下,为什么这样的格式,后面的显示不出来?

 回到顶部