以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26759) |
-- 作者:wsxdwh -- 发布时间:2012/12/13 11:45:00 -- [求助] 往“报名表”中合并数据时,(区)、(学校)这两列如果没有相同的值,执行合并;,(区)、(学校)这两列如果有相同的值,则不执行合并。怎么改写代码。 Dim dlg As New OpenFileDialog dlg.Filter= "Excel文件|*.xls" MessageBox.Show("你选择的是:" & dlg.FileName,"提示") mg.Merge() end if |
-- 作者:lin_hailun -- 发布时间:2012/12/13 11:56:00 -- 不能使用这个方法导入指定列不重复的行。 需要自己编码合并。 |
-- 作者:lin_hailun -- 发布时间: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 |
-- 作者:wsxdwh -- 发布时间:2012/12/13 13:09:00 -- 谢谢指教! 可能是我的表达有问题,我的意思是每个学校可以报多个学生,但每个学校只能报一次,报第二次时系统拒绝合并。(最后要实现网上报名) 当某一个学校报名时,系统会查找这个学校之前有没有报名(也就是能否在现有报名表中能否找到相同的区、学校),有则取消合并;没有则开始合并。 被合并的数据中允许列中存在相同的值。 [此贴子已经被作者于2012-12-13 13:36:57编辑过]
|
-- 作者:lin_hailun -- 发布时间:2012/12/13 14:07:00 -- 呃……编码做的就是你想要的。上传你的数据文件或者例子,帮你完成以下。 |
-- 作者:wsxdwh -- 发布时间:2012/12/13 15:11:00 -- 期待中!!!
|
-- 作者:wsxdwh -- 发布时间:2012/12/13 15:18:00 -- 1 [此贴子已经被作者于2012-12-13 15:51:39编辑过]
|
-- 作者:lin_hailun -- 发布时间:2012/12/13 15:19:00 -- 以下是引用wsxdwh在2012-12-13 15:11:00的发言: 期待中!!!
楼主你上传文件嘛 不知道你想怎么做的,xls文件和table文件。 |
-- 作者:wsxdwh -- 发布时间:2012/12/13 15:24:00 -- 传了 在7楼 |
-- 作者:wsxdwh -- 发布时间:2012/12/13 15:25:00 -- 下了告诉我 里面有太多的信息 |