以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:如何获取htm文件中的表格数据到狐表?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49829)

--  作者:y2287958
--  发布时间:2014/4/24 17:23:00
--  请教:如何获取htm文件中的表格数据到狐表?

RT

谢谢,希望得到大家的帮助。

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


--  作者:y2287958
--  发布时间:2014/4/24 17:30:00
--  
俺现在用的ReadAllText读取然后通过字符替换的办法
虽然也能成,但总感觉不爽,于是来请教大家了。

--  作者:狐狸爸爸
--  发布时间:2014/4/24 17:42:00
--  

呵呵,这个不是我在行的,帮你顶一下。


--  作者:有点甜
--  发布时间:2014/4/24 18:28:00
--  

 用下面的代码。

 

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate(ProjectPath & "aa.htm" )
Do Until web.ReadyState = 4
    Application.DoEvents
Loop


Dim elem As object = web.Document.body.GetElementsByTagName("strong")(0)
output.show("表头:" & elem.Innertext)

Dim elems As object = web.Document.body.GetElementsByTagName("table")
Dim trs As object = elems(2).GetElementsByTagName("tr")
For i As Integer = 0 To trs.count - 1
    output.show("第" & i & "行")
    Dim tds As Object = trs(i).GetElementsByTagName("td")
    For j As Integer = 0 To tds.count - 1
        output.show("(" & i & "," & j & ")=" & tds(j).InnerText)
    Next
Next


--  作者:lsy
--  发布时间:2014/4/24 18:34:00
--  
不错,顶楼主和有点甜。
--  作者:y2287958
--  发布时间:2014/4/24 18:50:00
--  
谢谢,谢谢帮助。
--  作者:don
--  发布时间:2014/4/24 22:46:00
--  
向甜甜学习!加上StringBuilder可大大提高效率:

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate(ProjectPath & "aa.htm" )
Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Dim sb3 As new StringBuilder
Dim s1 As String
Dim elem As object = web.Document.body.GetElementsByTagName("strong")(0)
output.show("表头:" & elem.Innertext)
Dim elems As object = web.Document.body.GetElementsByTagName("table")
Dim trs As object = elems(2).GetElementsByTagName("tr")
Dim tds As Object
For i As Integer = 0 To trs.count - 1
    sb3.AppendLine(vbcrlf )
    tds = trs(i).GetElementsByTagName("td")
    For c As Integer = 0 To tds.count - 1
        s1=tds(c).InnerText
        If s1 IsNot Nothing Then  s1=s1.trim
        If c =0 Then
            sb3.Append(s1)
        Else
            sb3.Append("@"  &  s1)
        End If
    Next
Next
If  sb3.Tostring IsNot Nothing Then
    Output.show(sb3.Tostring)
End If

--  作者:lsy
--  发布时间:2014/4/25 6:22:00
--  
顶don