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


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

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

美女呀,离线,留言给我吧!
漂亮美眉vszh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
导出的EXCEL表格能否禁止垂直分割  发帖心情 Post By:2019/8/1 8:27:00 [只看该作者]

老师,我有两个问题:1.用模板写入导出的EXCEL表格能否禁止垂直分割?2.EXCEL内设置了自动行高,我能获取自动行高的值吗?
图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看
ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望: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

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/8/1 11:10:00 [只看该作者]

Sheet.Rows(20).PageBreak = True 
老师,如何能得到20行?有些格子高度高些,有些低些,怎么取?给个思路就行~~~~

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/1 11:18:00 [只看该作者]

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

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/8/1 14:08:00 [只看该作者]

问题是行高是自动行高,不知道行高值,所以现在要获取当自动行高时,行高的值是多少?用哪个属性方法?

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/1 14:21:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/8/1 16:52:00 [只看该作者]

老师,这是写入数据时顺便取行高值,可是为什么只有前几行有行高,后几行行高一直是0呢?
图片点击可在新窗口打开查看此主题相关图片如下:456.png
图片点击可在新窗口打开查看
For krid As Integer = 0 To 100
Rowsh2 = Rowsh2 + sheet.Rows(krid).Height
If krid < 20 AndAlso krid > 10 Then
MessageBox.Show(krid & "  当前行行高: " & sheet.Rows(krid).Height & "    总行高:" & Rowsh2)
End If
Next

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/8/1 16:53:00 [只看该作者]

我这是利用EXCEL模板,然后把数据写入EXCEL

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


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望: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

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2019/8/2 7:57:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\1.02基本资料AQ2019070006s-2019-08-02.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("基本资料")
Dim Rg As MSExcel.Range '' = Ws.Range("A5")   '可指定任意单元格或单元格区
Dim Rowsh As Double = 0
For ih As Integer = 1 To 2200
    Rowsh  = Rowsh+ Ws.cells(ih).RowHeight
    If ih > 6 Then
        If Rowsh >= 3030 Then
            'MessageBox.Show(ih)
            Rg = Ws.cells(ih)
            App.DisplayAlerts = False   '加上此行可禁止弹出合并前的提示
            'Rg.UnMerge  '取消合并
            Rg.MergeCells = False  '用这种方式也可以取消
            Rowsh  = 0
        End If
    End If
Next
Wb.save()
App.Quit
MessageBox.Show(100)
[此贴子已经被作者于2019/8/2 8:24:16编辑过]

 回到顶部
总数 15 1 2 下一页