Foxtable(狐表)用户栏目专家坐堂 → 导出的EXCEL表格能否禁止垂直分割


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

主题:导出的EXCEL表格能否禁止垂直分割

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/1 9:25:00 [显示全部帖子]

SplitVertBehavior 是专业报表的用法,和EXCEL表格有啥关系?

如果要获取Execl某一行的高度,参考:http://www.foxtable.com/webhelp/topics/1158.htm

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/1 11:18:00 [显示全部帖子]

遍历所有行,逐行把高度加起来,超过或者等于某个值,就在这行加一个PageBreak,然后把之前相加的高度清零,继续遍历

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/1 14:21:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/1 17:01:00 [显示全部帖子]

可能是合并单元格的原因,试试使用vba取行高:http://www.foxtable.com/webhelp/topics/2121.htm

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/2 8:50:00 [显示全部帖子]

先判断是不是合并单元格。我测试没有问题,上传实例说明

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/2 10:38:00 [显示全部帖子]

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("E:\问题\1.02基本资料AQ2019070006s-2019-08-02.xls")
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("基本资料")
    Dim Rg As MSExcel.Range = Ws.UsedRange '' = Ws.Range("A5")   '可指定任意单元格或单元格区 
    Dim Rowsh As Double = 0
    For ih As Integer = 7 To Rg.Rows.Count
        Dim rg1 = Ws.Rows(ih)
        Rowsh  = Rowsh + rg1.RowHeight
        Output.Show("第" & ih & "行高度 = " & rg1.RowHeight & ",总高度=" & Rowsh)
        If Rowsh >= 3030 Then
            Output.Show("第" & ih & "行合并 = " & rg1.MergeCells)
            rg1.PageBreak = MSExcel.XlPageBreak.xlPageBreakManual
            'MessageBox.Show(ih)
            App.DisplayAlerts = False   '加上此行可禁止弹出合并前的提示
            'rg1.UnMerge  '取消合并
            rg1.MergeCells = False  '用这种方式也可以取消
            Rowsh  = 0
        End If
    Next
    Wb.save()
    App.Quit
catch ex As exception
    App.Quit
End try


 回到顶部