以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]逐列导入数据的方法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27007)

--  作者:方丈
--  发布时间:2012/12/19 18:18:00
--  [求助]逐列导入数据的方法

每个学生6科成绩分别录入在两个EXCEL表中(语、数、英一个表,物、化、政一个表),怎样合并到成绩系统中?

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:121219成绩录入.table


--  作者:lin_hailun
--  发布时间:2012/12/19 21:31:00
--  
 代码如下,测试有效。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:121219成绩录入.table



--  作者:方丈
--  发布时间:2012/12/19 21:33:00
--  
谢谢!
--  作者:狐狸爸爸
--  发布时间:2012/12/19 21:35:00
--  

其实很简单:

 

Dim Book As New XLS.Book("c:\\data\\abc.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("表A").StopRedraw()
For n As Integer = 1 To Sheet.Rows.Count -1
    If sheet(n,1).Text > "" Then
        Dim dr As DataRow = DataTables("表A").Find("考号 = \'" & sheet(n,1).Text  & "\'")
        If dr Is Nothing Then
            dr = DataTables("表A").AddNew()
            dr("考号") = sheet(n,1).Text
        End If
        dr("语文") = sheet(n,2).text
        dr("数学") = sheet(n,3).text
        dr("英语") = sheet(n,4).text
    End If
Next
sheet = Book.Sheets(1)
For n As Integer = 1 To Sheet.Rows.Count -1
    If sheet(n,1).Text > "" Then
        Dim dr As DataRow = DataTables("表A").Find("考号 = \'" & sheet(n,1).Text  & "\'")
        If dr Is Nothing Then
            dr = DataTables("表A").AddNew()
            dr("考号") = sheet(n,1).Text
        End If
        dr("物理") = sheet(n,2).text
        dr("化学") = sheet(n,3).text
        dr("政治") = sheet(n,4).text
    End If
Next
Tables("表A").ResumeRedraw()


--  作者:狐狸爸爸
--  发布时间:2012/12/19 21:37:00
--  

呵呵,我马后炮,和小林的代码几乎一模一样