是正确的,谢谢!
Forms("主界面").Open()
MainTable = Tables("主界面")
Dim xhs1 As List(of String) = DataTables("选课数据表").GetValues("考点")
xhs1.Remove("")
If xhs1.Count <= 1 Then
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= "正在导入数据,请稍候"
application.DoEvents
If sheet(0,0).text <> "试卷号" Or sheet(0,1).text <> "试卷名称" Or sheet(0,2).text <> "时长" Then
MessageBox.Show("您的数据源不符合国家开放大学报表平台的数据格式,不能导入学生信息表数据!", "提示")
Else
DataTables("机考科目").StopRedraw
For i As Integer = 1 To sheet.Rows.Count -1
Dim dr As DataRow = DataTables("机考科目").find("试卷号 = '" & sheet(i,0).text & "'")
If dr IsNot Nothing Then
dr("试卷名称") = sheet(i,1).text
dr("时长") = sheet(i,2).text
Else
dr = DataTables("机考科目").AddNew()
dr("试卷号") = sheet(i,0).text
dr("试卷名称") = sheet(i,1).text
dr("时长") = sheet(i,2).text
End If
application.DoEvents
Next
DataTables("机考科目").ResumeRedraw
End If
End If
DataTables("机考科目").DeleteFor("试卷号 Is null Or 试卷号 = '试卷号'")
MessageBox.Show("祝贺你!机考科目设置完成!", "提示")
StatusBar.Reset()
Tables("选课数据表").filter = ""
For Each r As Row In Tables("选课数据表").rows
Dim dr1 As DataRow = DataTables("机考科目").find("试卷号 = '" & r("试卷号") & "'")
If dr1 IsNot Nothing Then
r("时长") = dr1("时长")
r("机考安排") = "机考安排"
r("考场号") = "机考"
End If
Next
Tables("选课数据表").Filter = "[机考安排] = '机考安排' and [机考安排] <> '不排考'"
Tables("选课数据表").Sort = "时长,试卷号,学号"
Tables("选课数据表").Select(0,0,Tables("选课数据表").Rows.count - 1,Tables("选课数据表").Cols.count - 1 )
Dim Book1 As New XLS.Book(ProjectPath & "Attachments\机考安排表供安排之用.xls")
Dim fl As String = ProjectPath & "Reports\机考安排表供安排之用.xls"
Book1.Build() '生成细节区
Book1.Save(fl) '保存工作簿
Tables("选课数据表").filter = ""
ElseIf xhs1.Count >= 2 Then
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= "正在导入数据,请稍候"
application.DoEvents
If sheet(0,0).text <> "试卷号" Or sheet(0,1).text <> "试卷名称" Or sheet(0,2).text <> "时长" Then
MessageBox.Show("您的数据源不符合国家开放大学报表平台的数据格式,不能导入学生信息表数据!", "提示")
Else
DataTables("机考科目").StopRedraw
For i As Integer = 1 To sheet.Rows.Count -1
Dim dr As DataRow = DataTables("机考科目").find("试卷号 = '" & sheet(i,0).text & "'")
If dr IsNot Nothing Then
dr("试卷名称") = sheet(i,1).text
dr("时长") = sheet(i,2).text
Else
dr = DataTables("机考科目").AddNew()
dr("试卷号") = sheet(i,0).text
dr("试卷名称") = sheet(i,1).text
dr("时长") = sheet(i,2).text
End If
application.DoEvents
Next
DataTables("机考科目").ResumeRedraw
End If
End If
DataTables("机考科目").DeleteFor("试卷号 Is null Or 试卷号 = '试卷号'")
'Dim str As String = "学号,试卷号"
'Dim idx As String = ""
'Dim ary() As String = str.Split(",")
'Dim pdr As DataRow = Nothing
'Dim count As Integer = 0
'For Each dr As DataRow In DataTables("选课数据表").Select("学号 is not null", str)
'Dim flag As Boolean = False
'For Each a As String In ary
'If pdr IsNot Nothing AndAlso dr(a) <> pdr(a) Then
'flag = True
'End If
'Next
'If flag = False Then
'count += 1
'Else
'idx &= pdr("_Identify") & ","
'count = 1
'End If
'pdr = dr
'Next
'
'For Each a As String In ary
'If pdr IsNot Nothing AndAlso Tables("选课数据表").Rows(Tables("选课数据表").Rows.count-2)(a) <> pdr(a) Then
'idx &= pdr("_Identify") & ","
'End If
'Next
'
'DataTables("选课数据表").DeleteFor("_Identify not in (" & idx.trim(",") & ")")
'
MessageBox.Show("祝贺你!机考科目设置完成!", "提示")
StatusBar.Reset()
Tables("选课数据表").filter = ""
For Each r As Row In Tables("选课数据表").rows
Dim dr1 As DataRow = DataTables("机考科目").find("试卷号 = '" & r("试卷号") & "'")
If dr1 IsNot Nothing Then
r("时长") = dr1("时长")
r("机考安排") = "机考安排"
End If
Next
Tables("选课数据表").Filter = "[机考安排] = '机考安排' and [机考安排] <> '不排考'"
Tables("选课数据表").Sort = "考点,时长,试卷号,学号"
Tables("选课数据表").Select(0,0,Tables("选课数据表").Rows.count - 1,Tables("选课数据表").Cols.count - 1 )
Dim Book1 As New XLS.Book(ProjectPath & "Attachments\机考安排表供多考点安排之用.xls")
Dim fl As String = ProjectPath & "Reports\机考安排表供多考点安排之用.xls"
Book1.Build() '生成细节区
Book1.Save(fl) '保存工作簿
Tables("选课数据表").filter = ""
End If