Foxtable(狐表)用户栏目专家坐堂 → [原创]execl表格某一列的所有行重复值合并自定义函数


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

主题:[原创]execl表格某一列的所有行重复值合并自定义函数

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


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
[原创]execl表格某一列的所有行重复值合并自定义函数  发帖心情 Post By:2015/4/23 13:03:00 [只看该作者]

'引用方式:Functions.Execute("表格行合并",sheet1,1)
'第一个sheet1代表工作表.
'第二个1代表要合并那一列.
'默认从第一行开始合并.
Dim sheet1 As object = args(0) '这里开始加载数据.
Dim l As Integer = args(1) '要合并的列的位置.
Dim v As Integer = 1 '计数器
Dim h As Integer = 1 '合并起始行
Dim vl As String
vl = sheet1(0,l).value '定位第一个值
For i As Integer = 1 To sheet1.Rows.Count -1
    If sheet1(i,l).value = vl Then '如果第一个值和下个值相同
        v + = 1 '如果相同则继续循环并且将v的值加1
    Else '如果不相同了.则进行合并
            sheet1.MergeCell(i-v,l,v,1) '合并行数 '合并起始行为当前行i-v
            vl = sheet1(i,l).Value '并且将vl重新赋值.
            v = 1 '重新对v清零
    End If
Next
'bk.save()

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/23 13:56:00 [只看该作者]

谢谢分享图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
  发帖心情 Post By:2017/8/5 23:24:00 [只看该作者]

 楼主,这个代码写在哪里才能用的?
试了在窗口的按钮里没反应

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/6 11:34:00 [只看该作者]

以下是引用湛江智在2017/8/5 23:24:00的发言:
 楼主,这个代码写在哪里才能用的?
试了在窗口的按钮里没反应

 

贴出你的测试代码。

 

Dim book As new XLS.Book("d:\test.xls")
Dim sheet1 As object = book.Sheets(0)
Dim l As Integer = 0'要合并的列的位置.
Dim v As Integer = 1 '计数器
Dim h As Integer = 1 '合并起始行
Dim vl As String
vl = sheet1(0,l).value '定位第一个值
For i As Integer = 1 To sheet1.Rows.Count -1
    If sheet1(i,l).value = vl Then '如果第一个值和下个值相同
        v + = 1 '如果相同则继续循环并且将v的值加1
    Else '如果不相同了.则进行合并
            sheet1.MergeCell(i-v,l,v,1) '合并行数 '合并起始行为当前行i-v
            vl = sheet1(i,l).Value '并且将vl重新赋值.
            v = 1 '重新对v清零
    End If
Next
book.save("d:\test.xls")


 回到顶部