找回密码
 立即注册

QQ登录

只需一步,快速开始

人本人云
注册会员   /  发表于:2022-8-29 09:19  /   查看:2305  /  回复:8
2金币
本帖最后由 人本人云 于 2022-8-29 16:52 编辑

1661735777162.jpg398410643.png 1661735676115.jpg131604918.png

最佳答案

查看完整内容

我现在明白你的需求了,你的意思应该是: 当文本内容在单元格内可以正常显示时,还是维持宽高40,当文本内容太多单元格不能正常显示时,要自适应高度所以可以先做个判断,利用getAutoFitHeight,判断出该单元格内容的实际高度是否大于40,如果是的话,则自适应 核心代码是 最后实现效果为

8 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-8-29 09:19:59
来自 8#
本帖最后由 Ellia.Duan 于 2022-8-30 09:49 编辑
人本人云 发表于 2022-8-30 09:15
起初,我给每行、每列设置40的像素,表格样式统一,但是第18行,文字过多出现隐藏。我又给该行添加文字的 ...

我现在明白你的需求了,你的意思应该是:
当文本内容在单元格内可以正常显示时,还是维持宽高40,当文本内容太多单元格不能正常显示时,要自适应高度所以可以先做个判断,利用getAutoFitHeight,判断出该单元格内容的实际高度是否大于40,如果是的话,则自适应
核心代码是
  1. //当表格中的内容过多时,做到自适应。将表格中的内容全部显示出来
  2.       for (let r = 0; r < rowCount2; r++) {
  3.         var instance = new GC.Spread.Sheets.CellTypes.Text();
  4.         var returnValue = instance.getAutoFitHeight(
  5.             sheet2.getValue(r,3),
  6.             sheet2.getText(r,3),
  7.             sheet2.getActualStyle(r,3),
  8.             sheet2.zoom(),
  9.             {"sheet":sheet2, "row":r, "col":3, "sheetArea":GC.Spread.Sheets.SheetArea.viewport});
  10.         if(returnValue>40){
  11.           sheet2.autoFitRow(r);
  12.         }
  13.       }
复制代码
最后实现效果为 image.png934197387.png
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-29 17:32:35
2#
image.png12839964.png image.png965104675.png
image.png254992369.png
所以您的最终需求是什么呢?是想实现什么样子的效果。
回复 使用道具 举报
人本人云
注册会员   /  发表于:2022-8-29 17:44:23
4#
沉沉 发表于 2022-8-29 17:32
所以您的最终需求是什么呢?是想实现什么样子的效果。

需求:先给每个单元格设置一个固定的宽高,但是,出现了某行里的一个单元格中的文字特别多,此时该单元格中的文字一部分被隐藏了、不能完全显示出来。此时应该让这些文字自适应全部显示出来。希望您能理解,感谢
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-29 17:48:07
5#
image.png616513976.png image.png287349852.png 在这里,为其设置宽高为100,但是文字内容显示不下,所以又设置了高度自适应,最后单元格宽度不变,高度自适应。这种用法可以解决您的问题吗?
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-8-29 18:07:35
6#
请问您的问题解决了吗,可以参考楼上回复。
回复 使用道具 举报
人本人云
注册会员   /  发表于:2022-8-30 09:15:43
7#
沉沉 发表于 2022-8-29 17:48
在这里,为其设置宽高为100,但是文字内容显示不下,所以又设置了高度自适应,最后单元格宽度不变,高度自 ...

起初,我给每行、每列设置40的像素,表格样式统一,但是第18行,文字过多出现隐藏。我又给该行添加文字的自适应,之后文字能全部显示出来,但是覆盖了,之前设置的40像素的宽、高,怎么样能即让文字自适应全部显示出来,又保证40像素的宽高不被覆盖。(能不能给个最小高度)demo已上传,框架Vue,node.js版本是14.12.1,npm版本6.14.8,修改代码在307-317,感谢

表格自适应.zip

41.75 KB, 下载次数: 320

回复 使用道具 举报
人本人云
注册会员   /  发表于:2022-8-30 19:24:48
9#
Ellia.Duan 发表于 2022-8-30 09:44
我现在明白你的需求了,你的意思应该是:
当文本内容在单元格内可以正常显示时,还是维持宽高40,当文本 ...

非常感谢您耐心的解答,问题已经解决。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-8-31 13:37:13
10#
那本贴就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部