以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]将EXCEL导入公式如何写?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=109973)

--  作者:大雪山
--  发布时间:2017/11/23 19:17:00
--  [求助]将EXCEL导入公式如何写?
1问题 将EXCEL的数据导入
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据.table

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

[此贴子已经被作者于2017/11/23 19:17:34编辑过]

--  作者:有点甜
--  发布时间:2017/11/23 21:00:00
--  
Dim dt1 As DataTable = DataTables("学生")
Dim dt2 As DataTable = DataTables("成绩")
Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    Dim sheet As XLS.Sheet = book.Sheets(0)
    For i As Integer = 0 To sheet.Rows.count-1
        If sheet(i,0).text = "姓    名" Then
            Dim ndr As DataRow = dt1.AddNew
            ndr("学号") = sheet(i,5).text
            ndr("姓名") = sheet(i,1).text
            For j As Integer = i+6 To sheet.Rows.count-1
                If sheet(j,0).text > "" Then
                    Dim ncdr As DataRow = dt2.addnew
                    ncdr("xhdm") = ndr("学号")
                    ncdr("课程") = sheet(j,0).text
                    ncdr("学分") = sheet(j,2).text
                    ncdr("学分绩点") = sheet(j,3).text
                    ncdr("成绩") = sheet(j,4).text
                Else
                    i = j
                    Exit For
                End If
            Next
        End If
    Next
End If

--  作者:大雪山
--  发布时间:2017/11/23 21:24:00
--  
问题1 导入公式中能将 高等数学(课件) 大学物理(课件)两课目及其它字段屏蔽?问题2 身份证号的加入 麻烦老师再修改一下,谢谢

 

[此贴子已经被作者于2017/11/23 21:38:50编辑过]

--  作者:有点甜
--  发布时间:2017/11/23 22:01:00
--  
\'\'\'
Dim dt1 As DataTable = DataTables("学生")
Dim dt2 As DataTable = DataTables("成绩")
Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim book As new XLS.Book(dlg.FileName)
    Dim sheet As XLS.Sheet = book.Sheets(0)
    For i As Integer = 0 To sheet.Rows.count-1
        If sheet(i,0).text = "姓    名" Then
            Dim ndr As DataRow = dt1.AddNew
            ndr("学号") = sheet(i,5).text
            ndr("姓名") = sheet(i,1).text
            For j As Integer = i+6 To sheet.Rows.count-1
                If sheet(j,0).text > "" Then
                    If sheet(j,0).text.trim <> "高等数学(课件)" AndAlso sheet(j,0).text.trim <> "大学物理(课件)" Then
                        Dim ncdr As DataRow = dt2.addnew
                        ncdr("xhdm") = ndr("学号")
                        ncdr("课程") = sheet(j,0).text.trim
                        ncdr("学分") = sheet(j,2).text
                        ncdr("学分绩点") = sheet(j,3).text
                        ncdr("成绩") = sheet(j,4).text
                    End If
                Else
                    i = j
                    Exit For
                End If
            Next
        End If
    Next
End If

--  作者:大雪山
--  发布时间:2017/11/23 23:12:00
--  
这个公式如能身份证号 专业 学习形式 这三项能加进去就完美解决,麻烦老师再修改一下,谢谢

 


--  作者:有点甜
--  发布时间:2017/11/24 9:05:00
--  
以下是引用大雪山在2017/11/23 23:12:00的发言:
这个公式如能身份证号 专业 学习形式 这三项能加进去就完美解决,麻烦老师再修改一下,谢谢

 

 

这个是很简单的问题,请自行修改代码,看红色代码,修改其位置即可,如

 

     If sheet(i,0).text = "姓    名" Then
            Dim ndr As DataRow = dt1.AddNew
            ndr("学号") = sheet(i,5).text
            ndr("姓名") = sheet(i,1).text
            msgbox(sheet(i+1,5).Text)

            msgbox(sheet(i+4,2).Text)


--  作者:大雪山
--  发布时间:2017/11/24 9:36:00
--  

        If sheet(i,0).text = "姓    名" Then
            Dim ndr As DataRow = dt1.AddNew
            ndr("学号") = sheet(i,5).text
            ndr("姓名") = sheet(i,1).text
           ndr("身份证") = sheet(i,6).text
            \' msgbox(sheet(i+1,5).Text)
            \'msgbox(sheet(i+4,2).Text)

 

身份证 这个该怎么改,下面两行代码没实现

 


--  作者:有点甜
--  发布时间:2017/11/24 10:07:00
--  
ndr("身份证") = sheet(i+1,5).Text
--  作者:大雪山
--  发布时间:2017/11/25 11:55:00
--  

导入的“学号”数据后面被添加了一个空格,关联成绩时需双击才执行,如何解决这个问题?

 


--  作者:有点蓝
--  发布时间:2017/11/25 12:01:00
--  
ndr("学号") = sheet(i,5).text.trim