以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  直接向后台导入excl  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93835)

--  作者:刘林
--  发布时间:2016/12/8 10:50:00
--  直接向后台导入excl
请问老师,我有一个EXCL成绩表,想用考号后台查找,找到则把语文,数学,。。。填进去,请问应注意哪些?
--  作者:有点色
--  发布时间:2016/12/8 11:07:00
--  

 直接导入不就好?

 

http://www.foxtable.com/webhelp/scr/2334.htm

 


--  作者:有点色
--  发布时间:2016/12/8 11:07:00
--  

 这种方式也行

 

下载信息  [文件大小:312.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:excel作为数据源_合并.table


--  作者:刘林
--  发布时间:2016/12/8 11:50:00
--  
Dim dlg As new OpenFileDialog
dlg.Filter = "Excel|*.xls;*.xlsx"
Dim ksmc As String = trim(e.Form.controls("combobox1").value)
\'MessageBox.show(ksmc)
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText = "Sele ct * from{成绩} where 考试名称 = \'" & ksmc & "\'"
Dim dt As DataTable = cmd.ExecuteReader(True)
If dlg.ShowDialog = DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    For n As Integer = 1 To Sheet.Rows.Count -1
        \'MessageBox.show(trim(sheet(n,0).value))
        Dim dr As DataRow = dt.SQLfind("考试名称 = \'" & ksmc & "\' and 考号 = \'" & trim(sheet(n,0).value) & "\'")
        If dr IsNot Nothing Then
            For m As Integer = 1 To sheet.Cols.count -1
               \'MessageBox.show(trim(sheet(0,m).value) & "_B")
                dr(trim(sheet(0,m).value) & "_B") = sheet(n,m).value
            Next
        End If
    Next
    dt.save
End If
老师我想这样改,没提示错,但没写入呢,请指正

--  作者:有点蓝
--  发布时间:2016/12/8 12:27:00
--  

If dlg.ShowDialog = DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    For n As Integer = 1 To Sheet.Rows.Count -1
        \'MessageBox.show(trim(sheet(n,0).value))
        Dim dr As DataRow = dt.find("考试名称 = \'" & ksmc & "\' and 考号 = \'" & trim(sheet(n,0).value) & "\'")
        If dr IsNot Nothing Then
            For m As Integer = 1 To sheet.Cols.count -1
               \'MessageBox.show(trim(sheet(0,m).value) & "_B")
                dr(trim(sheet(0,m).value) & "_B") = sheet(n,m).value
            Next
        End If
    Next
    dt.save
End If

--  作者:刘林
--  发布时间:2016/12/8 14:51:00
--  
哦,我以为后台查找用sqlfind
--  作者:有点蓝
--  发布时间:2016/12/8 16:12:00
--  
sql都已经加载了,就没有必要在后台查询,画蛇添足