Dim jss1 As Integer = Tables("学生信息表外挂").Rows.Count
Dim dlg As new OpenFileDialog
dlg.Filter= "Excel文件|*.xls"
If dlg.ShowDialog = DialogResult.Ok Then
application.DoEvents
Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
StatusBar.Message1= "正在导入数据,请稍候"
StatusBar.ProgressBar.Maximum = sheet.Rows.Count
StatusBar.ProgressBar.Minimum = 0
StatusBar.ProgressBar.Visible =True
application.DoEvents
If sheet(0,0).text <> "序号" Or sheet(0,1).text <> "学校代码" Or sheet(0,2).text <> "学校名称" Or sheet(0,3).text <> "班代码" Then
MessageBox.Show("您的数据源不符合国家开放大学报表平台的数据格式,不能导入学生信息表数据!", "提示")
Else
DataTables("学生信息表外挂").ResumeRedraw
DataTables("学生信息表外挂").StopRedraw
For i As Integer = 1 To sheet.Rows.Count -1
Dim s77 As String = DataTables("外挂学校特征代码").DataRows(0)("外挂学校特征代码")
Dim Values() As String
Values = s77.split("|")
Dim flag As Boolean = False
For i7 As Integer = 0 To Values.Length - 1
If sheet(i,4).text Like "*" & Values(i7) & "*" Then
flag = True
Exit For
End If
Next
If flag Then
Dim dr As DataRow = DataTables("学生信息表外挂").find("学号 = '" & sheet(i,6).text & "'")
If dr IsNot Nothing Then
dr("学籍状态") = sheet(i,9).text
Else
dr = DataTables("学生信息表外挂").AddNew()
dr("序号") = sheet(i,0).text
dr("学校代码") = sheet(i,1).text
dr("学校名称") = sheet(i,2).text
dr("班代码") = sheet(i,3).text
dr("班名称") = sheet(i,4).text
dr("姓名") = sheet(i,5).text
dr("学号") = sheet(i,6).text
dr("性别") = sheet(i,7).text
dr("学籍状态") = sheet(i,8).text
dr("出生年月") = sheet(i,9).text
dr("学生类型代码") = sheet(i,10).text
dr("学生类型") = sheet(i,11).text
dr("民族") = sheet(i,12).text
dr("身份证号") = sheet(i,13).text
dr("专业代码") = sheet(i,14).text
dr("专业名称") = sheet(i,15).text
dr("入学年度") = sheet(i,16).text
dr("学期") = sheet(i,17).text
dr("规则号") = sheet(i,18).text
dr("入学前专业所属学科门类代码") = sheet(i,19).text
dr("原毕业时间") = sheet(i,20).text
dr("毕业学校") = sheet(i,21).text
dr("原专业名称") = sheet(i,22).text
dr("文化程序") = sheet(i,23).text
dr("照片") = dr("身份证号") & ".jpg"
If FileSys.FileExists(DataTables("学生信息表外挂").DataCols("照片").DefaultFolder & "\" & dr("照片")) = True Then
dr("是否有照片") = True
End If
End If
StatusBar.ProgressBar.Value = i
StatusBar.Message2= Math.Ceiling(i/sheet.Rows.Count * 100) & "%"
application.DoEvents
End If
Next
DataTables("学生信息表外挂").ResumeRedraw
End If
End If
'DataTables("学生信息表外挂").DeleteFor("身份证号 is null or 身份证号 = '身份证'")
For Each dr As DataRow In DataTables("学生信息表外挂").DataRows
Dim reg As new System.Text.RegularExpressions.Regex("(?<=.*[\u4e00-\u9fa5]+)[0-9]+")
Dim str = reg.replace(dr("班名称"), "")
dr("班名称中文") = str
Next
Dim jss2 As Integer = Tables("学生信息表外挂").Rows.Count
Dim jss3 As Integer = jss2 - jss1
StatusBar.Message1= "祝贺您!本次共导入挂靠学员" & jss3 & "人!"
MessageBox.Show("祝贺您!本次共导入挂靠学员" & jss3 & "人!")
StatusBar.Reset()