Foxtable(狐表)用户栏目专家坐堂 → excel报表中如何获取字体的宽度和高度?


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

主题:excel报表中如何获取字体的宽度和高度?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/22 12:23:00 [显示全部帖子]

参考代码

 

Dim gc As Graphics = BaseMainform.CreateGraphics()
Dim size As SizeF = gc.MeasureString("abc", basemainform.Font)
msgbox(size.width)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/22 12:24:00 [显示全部帖子]

请具体说你要做什么功能吧。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/22 17:36:00 [显示全部帖子]

以下是引用rjh4078在2017/9/22 17:28:00的发言:
我想实现自动调整行高 先判断数据字符宽度是否大于单元格 如果大于就将当前行的高度x2

 

这个问题你问过了啊

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=105340&skin=0

 

判断字符宽度参考2楼代码。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/24 23:37:00 [显示全部帖子]

以下是引用rjh4078在2017/9/23 18:22:00的发言:
大佬们看看还有哪里可以优化的地方 我找了台笔记本 打开报表需要3分钟 这效率太低了

 

去掉耗时代码

 

             If rg.MergeCells AndAlso rg.MergeArea.Columns.count>1  Then

                        '' rg.Font.Strikethrough = Strike '设置删除线
                        Dim width As Double = 0
                        Dim tempCol
                        For Each tempcol In rg.MergeArea.Columns
                            width = width + tempcol.ColumnWidth
                        Next
                        tempWs.Columns(1).WrapText = True
                        tempWs.Columns(1).ColumnWidth = width
                        tempWs.Columns(1).Font.Size = rg.Font.Size
                        tempcell.Value = rg.Value
                        tempcell.RowHeight = 0
                        tempcell.EntireRow.Activate
                        tempcell.EntireRow.AutoFit

 回到顶部