Foxtable(狐表)用户栏目专家坐堂 → [求助]能不能用代码实现 导出excel的时候保持合并格式


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

主题:[求助]能不能用代码实现 导出excel的时候保持合并格式

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/19 9:52:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/19 10:25:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/19 10:39:00 [显示全部帖子]

这个要自己去计算了,遍历的时候使用变量记录一下,比如第一行编号1,遍历到第7行,编号为2,和变量记录的1不同,那就说明第一行到第6行需要合并

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/19 13:29:00 [显示全部帖子]

1、http://www.foxtable.com/webhelp/topics/1161.htm
2、Sheet.MergeCell(1,0,11,1)

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/20 9:20:00 [显示全部帖子]

代码?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/20 9:59:00 [显示全部帖子]

……
    For i As Integer = 0 To lms.Count - 1
        Sheet(0, i).Value = lmsc(i) 
    Next
    Dim m1 As Row = t.rows(1)
    Dim rr As Integer = 1
    For r As Integer = 0 To t.Rows.Count - 1 '填入数据
        Dim m As Row = t.rows(r)
        For i As Integer = 0 To lms.Count - 1
            Try
                If lms(i).Contains("状态") Then
                    Sheet(r + 1, i).Value = t.Cols(lms(i)).DataMap(t.rows(r)(lms(i)))
                    If Sheet(r + 1, i).Value = "" Then '----如果datamap读取出来是空置则读取原始值
                        Sheet(r + 1, i).Value = t.rows(r)(lms(i))
                    End If
                Else
                    Sheet(r + 1, i).Value = t.rows(r)(lms(i))
                    
                End If
            Catch ex As Exception
                
                Sheet(r + 1, i).Value = t.rows(r)(lms(i))
                
            End Try
            
        Next
        If r > 0 AndAlso m(0) <> m1(0) Then
            Sheet.MergeCell(rr, 0, r - rr + 1, 1)
            m1 = m
            rr = r + 1
        End If 
    Next
Sheet.MergeCell(rr, 0, t.Rows.Count - rr + 1, 1)

Book.Save("c:\reports\test.xls")
……

 回到顶部