Foxtable(狐表)用户栏目专家坐堂 → [求助]狐表如何解决取文件中列名为空白的问题?


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

主题:[求助]狐表如何解决取文件中列名为空白的问题?

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


加好友 发短信
等级:婴狐 帖子:31 积分:488 威望:0 精华:0 注册:2014/2/28 20:11:00
[求助]狐表如何解决取文件中列名为空白的问题?  发帖心情 Post By:2014/5/25 15:05:00 [只看该作者]

  此为原始htm文件图
  在新的代码下,如何解决下面运行错误的问题?

 

 



 

 

[此贴子已经被作者于2014-7-28 15:20:46编辑过]

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


加好友 发短信
等级:婴狐 帖子:31 积分:488 威望:0 精华:0 注册:2014/2/28 20:11:00
  发帖心情 Post By:2014/5/25 15:07:00 [只看该作者]

 

代码


 

[此贴子已经被作者于2014-7-28 15:21:25编辑过]

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


加好友 发短信
等级:婴狐 帖子:31 积分:488 威望:0 精华:0 注册:2014/2/28 20:11:00
  发帖心情 Post By:2014/5/25 15:11:00 [只看该作者]

原代码

[此贴子已经被作者于2014-7-28 15:22:26编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/25 15:56:00 [只看该作者]

如下,自己核对一下

 

Dim web As New System.Windows.Forms.WebBrowser()

web.Navigate(projectpath & "临床.htm")

Do Until web.ReadyState = 4
   
    Application.DoEvents
   
Loop

'取数据

Dim Cols As new List(of String)

Dim elems As object = web.Document.GetElementsByTagName("Table")(0).GetElementsByTagName("tr")

Dim m As Integer = 0

For Each elem As object In elems
   
    Dim i As Integer = 0
    Dim tdelems As object =  elem.GetElementsByTagName("td")
    If m = 0 Then
       
        For Each tdelem As object In tdelems
            If tdelem.InnerText.trim > "" Then
                Cols.add(tdelem.Innertext)
            End If
        Next
       
    Else
        If m > 1 Then  '因为网页的表格有标题,如果不判断,就会增加出一个空行
            Dim r As Row = Tables("临床").AddNew
            i = 0
            For Each tdelem As object In tdelems
                If Tables("临床").Cols.Contains(Cols(i))
                    r(Cols(i)) = tdelem.Innertext
                End If
                i = i + 1
            Next
        End If
    End If
    m = m + 1
Next

Tables("临床").save


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


加好友 发短信
等级:婴狐 帖子:31 积分:488 威望:0 精华:0 注册:2014/2/28 20:11:00
  发帖心情 Post By:2014/5/25 16:45:00 [只看该作者]

可以了!

 

[此贴子已经被作者于2014-7-28 15:23:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/25 17:00:00 [只看该作者]

如下

 

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate(projectpath & "临床.htm")
Do Until web.ReadyState = 4
   
    Application.DoEvents
   
Loop
'取数据
Dim Cols As new List(of String)
Dim elems As object = web.Document.GetElementsByTagName("Table")(1).GetElementsByTagName("tr")
Dim m As Integer = 0
For Each elem As object In elems
   
    Dim i As Integer = 0
    Dim tdelems As object =  elem.GetElementsByTagName("td")
    If m = 0 Then
       
        For Each tdelem As object In tdelems
            If tdelem.InnerText.trim > "" AndAlso tdelem.InnerText <> "项目" Then
                Cols.add(tdelem.Innertext)
            End If
        Next
       
    Else
        If m > 0 Then  '因为网页的表格有标题,如果不判断,就会增加出一个空行
            Dim r As Row = Tables("临床").AddNew
            i = 0
            For Each tdelem As object In tdelems
                If Tables("临床").Cols.Contains(Cols(i))
                    r(Cols(i)) = tdelem.Innertext
                End If
                i = i + 1
            Next
        End If
    End If
    m = m + 1
Next
Tables("临床").save


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


加好友 发短信
等级:婴狐 帖子:31 积分:488 威望:0 精华:0 注册:2014/2/28 20:11:00
  发帖心情 Post By:2014/5/25 17:31:00 [只看该作者]

可以了!感激不尽!!

 回到顶部