还是没搞懂,条件列sheet(n,5).Text 和导入列sheet(n,8).text 不用列位置获取Excel表中的列,而直接用“列名”获取。 条件列用“身份证号”(固定的)和导入列用“km”(动态的) ,如何修改代码?
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
dlg.Filter= "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
For Each km As String In DataTables("校名设置").GetValues("部别","单位 = '统计'" )
For Each fl As String In dlg.FileNames
Dim Book As New xls.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 1 To Sheet.Rows.Count -1
Dim sfz As String = sheet(n,5).Text '获取条件列(身份证号)(只能在第5列,不能变动)
Dim dr As DataRow = DataTables("名册").Find("身份证号 = '" & sfz & "'")
If dr IsNot Nothing
dr( km ) = sheet(n,8).text '获取导入列(只能在第8列,不能变动)
End If
Next
Next
e.Form.Controls("Label11").Text = "英语" & km & "成绩已经合并,可以进行分项统计!"
Next
End If
注:将“测试英语听力第一次考试成绩.xls”文件中的“听力一”列导入到“高中期末成绩统计程序.Table”文件的“名册”中的“听力一”列中,条件是“身份证号”=“km”。sheet(n,5).Text 和 sheet(n,8).text 不能受列位置限制。只能用“身份证号”和“km”列名限制
[此贴子已经被作者于2014-4-11 9:58:17编辑过]