找回密码
 立即注册

QQ登录

只需一步,快速开始

spreadjs666
金牌服务用户   /  发表于:2024-7-18 11:35  /   查看:1057  /  回复:7
1金币
本帖最后由 spreadjs666 于 2024-7-18 11:38 编辑

如附件所示,双击行高、列宽自适应,并不是根据canvas渲染的值进行自适应,而是根据真实的value值进行自适应,这种问题如何解决?


image.png129731749.png
image.png951237182.png

屏幕录制2024-07-18 上午11.11.23.mov.zip

18.95 MB, 下载次数: 312

static的副本.zip

12.69 MB, 下载次数: 273

7 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-18 14:13:57
沙发
本帖最后由 Ellia.Duan 于 2024-7-18 14:23 编辑

您好,经过初步调研,B2单元格富文本中text是"未命名文档未命名文档未命名文档"
iconfont部分是空格,在自适应行高/列宽时,未将空格计算进去。

您可以参考这篇文章重写getAutoFitHeight与getAutoFitWidth
https://demo.grapecity.com.cn/Sp ... tipHyperLinkPicture
image.png796761169.png







回复 使用道具 举报
spreadjs666
金牌服务用户   /  发表于:2024-7-18 14:23:00
板凳
本帖最后由 spreadjs666 于 2024-7-18 14:24 编辑
Ellia.Duan 发表于 2024-7-18 14:13
您好,经过初步调研,B2单元格富文本中text是
"未命名文档未命名文档未命名文档"
iconfont部分是空 ...

您好,不直接使用富文本而使用paint重写是为了不影响单元格的value。
如您所说iconfont部分是空格,因此写在value中会导致公式“=B2”、筛选、查找替换、ftb、排序、复制粘贴等位置均展示为空格,影响一系列的操作,因此我们想把iconfont放到paint中渲染但不存在value之中,以消除对以上操作的影响。
感谢!

static的副本.zip

12.69 MB, 下载次数: 288

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-18 14:24:00
地板
已修改楼上回复,请参考。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-18 15:01:40
5#
之前问道您,为什么在富文本的同时,设置单元格类型。如果直接设置富文本,是没有这个问题的,如:

  1. sheet.setValue(1, 1, {
  2.         "text": getRichDocIcon + "未命名文档" + getRichDocIcon + "未命名文档" + getRichDocIcon + "未命名文档",
  3.         "richText": [
  4.           {
  5.             "text": getRichDocIcon,
  6.             "style": {
  7.               "font": "  20px iconfont",
  8.               "foreColor": "blue",
  9.               "textDecoration": 0
  10.             }
  11.           },
  12.           {
  13.             "style": {},
  14.             "text": "未命名文档"
  15.           },
  16.           {
  17.             "text": getRichDocIcon,
  18.             "style": {
  19.               "font": "  20px iconfont",
  20.               "foreColor": "blue",
  21.               "textDecoration": 0
  22.             }
  23.           },
  24.           {
  25.             "style": {},
  26.             "text": "未命名文档"
  27.           },
  28.           {
  29.             "text": getRichDocIcon,
  30.             "style": {
  31.               "font": "  20px iconfont",
  32.               "foreColor": "blue",
  33.               "textDecoration": 0
  34.             }
  35.           },
  36.           {
  37.             "style": {},
  38.             "text": "未命名文档"
  39.           }
  40.         ]
  41.       })

  42.       sheet.getCell(1, 1).wordWrap(true)
  43.       sheet.autoFitRow(1)
复制代码
image.png414634703.png
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-18 15:05:38
6#
spreadjs666 发表于 2024-7-18 14:23
您好,不直接使用富文本而使用paint重写是为了不影响单元格的value。
如您所说iconfont部分是空格,因此 ...

请参考附件,重写getAutoFitHeight
需要您这边去算具体增加多少值,这里以100代替



image.png401824645.png


image.png113809813.png

设置自定义单元格.html

60.58 KB, 下载次数: 195

回复 使用道具 举报
spreadjs666
金牌服务用户   /  发表于:2024-7-18 15:57:24
7#
Ellia.Duan 发表于 2024-7-18 15:05
请参考附件,重写getAutoFitHeight
需要您这边去算具体增加多少值,这里以100代替

ok了,多谢!
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-18 16:01:36
8#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部