Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有4711人关注过本帖平板打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
e-png
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/7/2 13:12:00 [只看该作者]

这么久没人答复,我来试试。

随便用一个项目,在命令窗口用下面代码看看是你要的不 :

注意:你5楼的excel请先插入第一行: 图见11楼。

 

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls"
If dlg.ShowDialog = DialogResult.Ok Then 

    Dim ip As New Importer
    ip.SourcePath = dlg.FileName 
    ip.SourceTableName = "sheet1$" 
    ip.NewTableName ="考场与教室号对应表" 
    ip.Format = "Excel" 

    ip.Import()
End If

If DataTables("考场与教室号对应表").DataCols.Contains("学号") = False Then
    DataTables("考场与教室号对应表").DataCols.add("学号", Gettype(String))
End If

Dim dtb As New DataTableBuilder("学生考试通知单")
dtb.AddDef("班级号", Gettype(String), 32)
dtb.AddDef("班级名称", Gettype(String), 32)
dtb.AddDef("学号", Gettype(String), 32)
dtb.AddDef("姓名", Gettype(String), 32)
dtb.AddDef("考点名称", Gettype(String), 32)
dtb.AddDef("考试地址", Gettype(String), 32)
dtb.Build()

DataTables("学生考试通知单").DataRows.Clear()
With Tables("考场与教室号对应表")
For i As Integer = 0 To .count -1
    If .rows(i)("试卷号").contains("学号")
        Dim str As Integer = .rows(i)("试卷号").IndexOf("学号")
        Dim ed As Integer = .rows(i)("试卷号").IndexOf("姓名")
        .rows(i)("学号") = .rows(i)("试卷号").SubString(str+3,13)
    End If
    If i > 0
        If .Rows(i).Isnull("试卷号") = False And .Rows(i).Isnull("学号") And .Rows(i-1).Isnull("学号") = False
             .rows(i)("学号") = .rows(i-1)("学号") 
        End If
    End If 

        If .rows(i)("试卷号").contains("学号")
            Dim stb As Integer = .rows(i)("试卷号").IndexOf("班级")
            Dim str As Integer = .rows(i)("试卷号").IndexOf("学号")
            Dim ed As Integer = .rows(i)("试卷号").IndexOf("姓名")
            Dim edb As Integer = .rows(i)("考试日期").IndexOf("班")
            Dim dr As Row = Tables("学生考试通知单").addnew()
            dr("班级号") = .rows(i)("试卷号").substring(stb+3,str-stb-3).trim(" ")
            dr("班级名称") = .rows(i)("考试日期").SubString(0,edb+1)
            dr("学号") = .rows(i)("试卷号").substring(str+3,13)
            dr("姓名") = .rows(i)("试卷号").substring(ed+3)
        End If

        If .rows(i)("试卷号").contains("考点")
            Dim dr As Row = Tables("学生考试通知单").current
            dr("考点名称") = .rows(i)("试卷号").substring(5)
            dr("考试地址") = .rows(i)("考试日期").SubString(0)
        End If
    Next
End With
MainTable= Tables("学生考试通知单")
Tables("学生考试通知单").Autosizecols()

DataTables("考场与教室号对应表").DeleteFor("[试卷号] like '班级*' or [试卷号] is null or [试卷号] like '考点*' or [试卷号] like '*考试通知单' or [试卷号] like '试卷号' ")

If Relations.Contains("关联1") Then
    Relations.Delete("关联1")
End If

Relations.Add("关联1",DataTables("学生考试通知单").DataCols("学号"),DataTables("考场与教室号对应表").DataCols("学号"))

[此贴子已经被作者于2013-7-2 15:39:11编辑过]

 回到顶部
总数 16 1 2 下一页