想在总成绩表中只导入数学成绩.在总成绩表中有窗口
如果有期数等于窗口日期就只导入数学成绩,如果窗口日期不等于窗口日期,就导入姓名和数学成绩.
用填充的方面不能只取excel部分值
[此贴子已经被作者于2011-6-8 18:29:18编辑过]
Dim Names As String() = {"考试期数"}
For Each Name As String In Names
If Name=Forms("窗口2").controls("DateTimePicker1").text Then
Dim dlg As New OpenFileDialog
dlg.Filter= "Excel文件|*.xls"
If dlg.ShowDialog = DialogResult.Ok Then
Dim mg As New Merger
mg.SourcePath = dlg.FileName
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim f As New Filler
f.SourceTable = DataTables(Ws.Name & "$") '指定数据来源
f.SourceCols = "数学" '指定数据来源列
f.DataTable = DataTables("表B") '指定数据接收表
f.DataCols = "数学" '指定数据接收列
f.Fill() '填充数
End If
Else
Dim dlg As New OpenFileDialog
dlg.Filter= "Excel文件|*.xls"
If dlg.ShowDialog = DialogResult.Ok Then
Dim mg As New Merger
mg.SourcePath = dlg.FileName
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim f As New Filler
f.SourceTable = DataTables(Ws.Name & "$") '指定数据来源
f.SourceCols = "姓名,数学" '指定数据来源列
f.DataTable = DataTables("表B") '指定数据接收表
f.DataCols = "姓名,数学" '指定数据接收列
f.Fill() '填充数据
End If
End If
Next
这样不行啊

此主题相关图片如下:11.jpg

普通的导入我也没问题。狐狸爸爸能帮忙看下吗?我的思路是那错了。
参考我这段代码,你应该用Merger,而不是Filler:
Dim dlg As New OpenFileDialog
dlg.Filter= "Excel文件|*.xls"
If dlg.ShowDialog = DialogResult.Ok Then
Dim Book As New XLS.Book(dlg.FileName)
Dim mg As New Merger
mg.Format = "Excel"
mg.SourcePath = dlg.FileName
mg.SourceTableName = book.Sheets(0).Name & "$" '指定数据来源
mg.Fields = "姓名,数学" '指定数据来源列
mg.DataTableName = "表B" '指定数据接收表
mg.Merge() '填充数据
End If
[此贴子已经被作者于2011-6-9 9:07:57编辑过]
注意前面有行代码有误,应该是:
Dim Book As New XLS.Book(dlg.FileName)