以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- excel报表中如何获取字体的宽度和高度? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107159) |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/22 11:39:00 -- excel报表中如何获取字体的宽度和高度? 如题,如何获取某个单元格里的字体的宽度和高度? |
||||
-- 作者:有点甜 -- 发布时间:2017/9/22 12:23:00 -- 参考代码
Dim gc As Graphics = BaseMainform.CreateGraphics() |
||||
-- 作者:有点甜 -- 发布时间:2017/9/22 12:24:00 -- 请具体说你要做什么功能吧。 |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/22 17:28:00 -- 我想实现自动调整行高 先判断数据字符宽度是否大于单元格 如果大于就将当前行的高度x2 |
||||
-- 作者:有点甜 -- 发布时间: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楼代码。 |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/22 19:34:00 -- 之前那个解决方案不行 格式全部废掉 |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/22 20:00:00 -- 二楼这个判断的是excel单元格字体宽度吗?BaseMainform 不是指窗体吗? |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/22 20:15:00 -- Dim Style As XLS.Style = Book.NewStyle() \'定义新样式 style.Font = New Font("楷体",10,FontStyle.Strikeout) Style.BorderTop = XLS.LineStyleEnum.Thin Style.BorderBottom = XLS.LineStyleEnum.Thin Style.BorderLeft = XLS.LineStyleEnum.Thin Style.BorderRight = XLS.LineStyleEnum.Thin Style.AlignHorz = XLS.AlignHorzEnum.Center Style.AlignVert = XLS.AlignVertEnum.Center For i As Integer=0 To sheet.Rows.count-1 If sheet(i,0).value="Y" Then For j As Integer=0 To 17 sheet(i,j+1).Style=Style Next End If for k as integer=0 to sheet.cols.count-1 then 如果单元格字符的宽度除以单元格宽度大于t 则将该行行高乘以t并将该单元格自动换行设为true Next 这个是写在报表的afterbuild事件中 红色部分如何实现? [此贴子已经被作者于2017/9/22 20:16:01编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/9/22 20:25:00 -- 请上传具体实例测试 |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/22 21:57:00 --
感谢了 需求写在里面了
|