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


  共有9276人关注过本帖树形打印复制链接

主题:[求助]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/13 11:56:00 [显示全部帖子]

 不能使用这个方法导入指定列不重复的行。

 需要自己编码合并。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/13 12:36:00 [显示全部帖子]

 大概这样,你改一下红色部分就行了。

Dim dlg As New OpenFileDialog
dlg.Filter= "Excel文件|*.xls"

If dlg.ShowDialog = DialogResult.Ok Then
    MessageBox.Show("你选择的是:" & dlg.FileName,"提示")
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim colNames As New List(Of String)
    For i As Integer = 0 To sheet.Cols.Count - 1
        colNames.Add(sheet(0, i).Text)
    Next
   
    Dim dt As DataTable = DataTables("工资表")
    For i As Integer = 1 To sheet.Rows.Count - 1
        If dt.Find("区 = '" & sheet(i,0).Text & "' And 学校 = '" & sheet(i,1).Text & "'") Is Nothing Then
            Dim ndr As DataRow = dt.AddNew
            For j As Integer = 0 To sheet.Cols.Count - 1
                ndr(colNames(j)) = sheet(i, j).Text
            Next
        End If
    Next
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/13 14:07:00 [显示全部帖子]

 呃……编码做的就是你想要的。上传你的数据文件或者例子,帮你完成以下。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/13 15:19:00 [显示全部帖子]

以下是引用wsxdwh在2012-12-13 15:11:00的发言:

期待中!!!

 


楼主你上传文件嘛图片点击可在新窗口打开查看 不知道你想怎么做的,xls文件和table文件。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/13 15:41:00 [显示全部帖子]

以下是引用wsxdwh在2012-12-13 13:09:00的发言:

谢谢指教!

      可能是我的表达有问题,我的意思是每个学校可以报多个学生,但每个学校只能报一次,报第二次时系统拒绝合并。(最后要实现网上报名)

     当某一个学校报名时,系统会查找这个学校之前有没有报名(也就是能否在现有报名表中能否找到相同的区、学校),有则取消合并;没有则开始合并。

      被合并的数据中允许列中存在相同的值。

[此贴子已经被作者于2012-12-13 13:36:57编辑过]


每个学校只能报一次,那么如何做到报多个学生?我这个我真不懂。不是每个报名一行数据么?

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/14 10:16:00 [显示全部帖子]

 但是,合并的条件如果是 区和学校,那么也就是说一个学校只能合并一条数据,只有一个学生可以报名啦,是不是矛盾了?

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/14 10:50:00 [显示全部帖子]

 你的意思是否可以这样理解?

 最初,报名表是空的。在合并一次xls数据时,如果发现学校不存在,就允许这一次xls数据中这个学校所有数据的导入;否则(学校已经存在),不再导入学校数据。

 简言之,学校不存在,导入这一次xls的所有数据;学校存在,一个也不导入?

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/14 11:52:00 [显示全部帖子]

大概是这样,简单一点的做法是使用一个临时表做过度。

 
[此贴子已经被作者于2012-12-14 12:41:28编辑过]

 回到顶部