以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]练习(成績管理系統)怎么比较导入?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10486)

--  作者:shacool
--  发布时间:2011/6/8 15:29:00
--  [求助]练习(成績管理系統)怎么比较导入?

想在总成绩表中只导入数学成绩.在总成绩表中有窗口

 

如果有期数等于窗口日期就只导入数学成绩,如果窗口日期不等于窗口日期,就导入姓名和数学成绩.

 

用填充的方面不能只取excel部分值

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成績管理系統.rar

[此贴子已经被作者于2011-6-8 18:29:18编辑过]

--  作者:shacool
--  发布时间:2011/6/8 16:34:00
--  
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
图片点击可在新窗口打开查看

--  作者:blackzhu
--  发布时间:2011/6/8 17:04:00
--  
楼主,你的文件名一个都看不出是什么.乱码.
--  作者:blackzhu
--  发布时间:2011/6/8 17:07:00
--  

Importer  导入看帮助的这一章.


--  作者:shacool
--  发布时间:2011/6/8 17:08:00
--  
等晚上再传个给你们就不会乱码了
--  作者:shacool
--  发布时间:2011/6/8 18:32:00
--  

重新上传了不会乱码了


--  作者:shacool
--  发布时间:2011/6/8 21:11:00
--  
普通的导入我也没问题。狐狸爸爸能帮忙看下吗?我的思路是那错了。
--  作者:狐狸爸爸
--  发布时间:2011/6/9 8:46:00
--  

参考我这段代码,你应该用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编辑过]

--  作者:shacool
--  发布时间:2011/6/9 9:08:00
--  
谢谢啊!book.Sheets(0).Name代码我就不知道有
--  作者:狐狸爸爸
--  发布时间:2011/6/9 9:09:00
--  

注意前面有行代码有误,应该是:

 

Dim Book As New XLS.Book(dlg.FileName)