首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

用webbrowser控件怎么读取代码中表格里的数据并显示

2012-02-23 
用webbrowser控件如何读取代码中表格里的数据并显示请根据下面的HTML代码帮我分析一下,如果我想用webbrows

用webbrowser控件如何读取代码中表格里的数据并显示
请根据下面的HTML代码帮我分析一下,如果我想用webbrowser控件读取其中的
欠费金额,应该如何查找呢?
最好有具体的完成语句,
要求读出的格式为:(举例如下,不一定代表就是下面代码的数据)
===========================
序号 年度 欠费金额 滞纳金
1 2011 1200.00 23.14
2 2010 800.00 145.70
3 2007 360.00 3689.70
===========================
要完成上述“=”内部的内容的显示,
在vb中如何写代码呢?
主要是要读取部分的代码,其余部分已经完成。
最好是不用循环,直接取出数据,
但数据可能每次取出的HTML代码是不一样的,
如果必须用循环,请给个代码看看,
采纳后,百分相送。

下面的代码是用webbrowser读取出来的。
----------------------

HTML code
HTML code<TABLE class=printtab width=600><TBODY><TR class=tablabel><TD class=printtd>单位公章</TD><TD class=printtd>打印时间:</TD><TD class=printtd>打印地点:</TD><TD class=printtd>打印人:</TD></TR></TBODY></TABLE><TABLE class=printtab width=600><TBODY><TR><TD><TABLE style="cellspacing: 0; cellpadding: 0" width="100%"><TBODY><TR class=tablabel><TD class=printtd width=60>用户编号:</TD><TD class=printtd width=140>12345678</TD><TD class=printtd width=60>用户名称:</TD><TD class=printtd width=140>李强</TD><TD class=printtd width=60>房屋性质:</TD><TD class=printtd width=140>居民</TD></TR></TBODY></TABLE></TD></TR><TR><TD><TABLE style="cellspacing: 0; cellpadding: 0" width="100%"><TBODY><TR class=tablabel><TD class=printtd width=60>住址:</TD><TD class=printtd width=450>住址省略</TD><TD class=printtd width=60>进户时间:</TD><TD class=printtd width=60>199901</TD></TR></TBODY></TABLE></TD></TR><TR><TD><TABLE style="cellspacing: 0; cellpadding: 0" width="100%"><TBODY><TR class=tablabel><TD class=printtd width=60>公司:</TD><TD class=printtd width=140>第一分公司</TD><TD class=printtd width=60>收费员:</TD><TD class=printtd width=140>张三</TD><TD class=printtd width=60>面积:</TD><TD class=printtd width=140>75.58</TD></TR></TBODY></TABLE></TD></TR><TR><TD><TABLE style="cellspacing: 0; cellpadding: 0" width="100%"><TBODY><TR class=tablabel><TD class=printtd width=60>备注:</TD><TD class=printtd width=600>地址详情;</TD></TR></TBODY></TABLE></TD></TR><TR><TD><TABLE style="cellspacing: 0; cellpadding: 0" width="100%"><TBODY><TR class=tablabel><TD class=printtd>年度</TD><TD class=printtd>应收</TD><TD class=printtd>实收</TD><TD class=printtd>欠费</TD><TD class=printtd>滞纳金</TD><TD class=printtd>欠费合计</TD></TR><TR class=tablabel><TD class=printtd>2011</TD><TD class=printtd>3049.65</TD><TD class=printtd>0.0</TD><TD class=printtd>3049.65</TD><TD class=printtd>0.0</TD><TD class=printtd>3049.65</TD></TR><TR class=tablabel><TD class=Noprint>2010</TD><TD class=Noprint>3049.65</TD><TD class=Noprint>3049.65</TD><TD class=Noprint>0.0</TD><TD class=Noprint>0.0</TD><TD class=Noprint>0.0</TD></TR><TR class=tablabel><TD class=Noprint>2009</TD><TD class=Noprint>3049.65</TD><TD class=Noprint>609.93</TD><TD class=Noprint>0.0</TD><TD class=Noprint>0.0</TD><TD class=Noprint>0.0</TD></TR><TR class=tablabel><TD class=Noprint>2008</TD><TD class=Noprint>3049.65</TD><TD class=Noprint>609.93</TD><TD class=Noprint>0.0</TD><TD class=Noprint>0.0</TD><TD class=Noprint>0.0</TD></TR><TR class=tablabel><TD class=Noprint>2007</TD><TD class=Noprint>2611.29</TD><TD class=Noprint>2611.3</TD><TD class=Noprint>-0.01</TD><TD class=Noprint>0.0</TD><TD class=Noprint>-0.01</TD></TR><TR class=tablabel> 



--------------------------------------------
请高人帮忙,,有百分相送啊。

[解决办法]
VB code
    s = 'HTML代码    s = Mid(s, InStr(1, s, "<TD class=printtd>年度</TD>"))    s = Left(s, InStr(1, s, "<TD class=printtd>合计</TD>") - 1)    s = Replace(s, "<TD class=printtd>", "")    s = Replace(s, "<TD class=Noprint>", "")    s = Replace(s, "</TR>", "")    s = Replace(s, vbCrLf, "")        '输出结果    s1 = Split(s, "<TR class=tablabel>")    '每一行    For i = 0 To UBound(s1) - 1        s2 = Split(s1(i), "</TD>")  '每一列        Debug.Print IIf(i = 0, "序号", i), s2(0), s2(3), s2(4)    Next i结果:序号          年度          欠费          滞纳金 1            2011          3049.65       0.0 2            2010          0.0           0.0 3            2009          0.0           0.0 4            2008          0.0           0.0 5            2007          -0.01         0.0 6            2006          -0.01         0.0
[解决办法]
探讨

引用:
引用:

引用:
方法一:取出html内容,当做一个字符串处理,处理方法可以用vb的基本字符串函数或者正则,推荐使用后者
方法二:当做dom对象处理,直接读取表格对象。xx.cells(i,j)

自己实现吧,不信你一个方法都不会。

能写一下具体的实现方法么?
代码不一定……

[解决办法]
VB code
    s = 'HTML代码    s = Mid(s, InStr(1, s, "<TD class=printtd>年度</TD>"))    s = Left(s, InStr(1, s, "<TD class=printtd>合计</TD>") - 1)    s = Replace(s, "<TD class=printtd>", "")    s = Replace(s, "<TD class=Noprint>", "")    s = Replace(s, "</TR>", "")    s = Replace(s, vbCrLf, "")        '输出结果    s1 = Split(s, "<TR class=tablabel>")    '每一行    For i = 0 To UBound(s1) - 1        s2 = Split(s1(i), "</TD>")  '每一列        If i = 0 Then            Debug.Print "序号", s2(0), s2(3), s2(4)        ElseIf Val(s2(3)) > 0 Then            Debug.Print i, s2(0), s2(3), s2(4)        End If    Next i序号          年度          欠费          滞纳金 1            2011          3049.65       0.0 

热点排行