找回密码
 立即注册

QQ登录

只需一步,快速开始

如风

中级会员

104

主题

351

帖子

899

积分

中级会员

积分
899

微信认证勋章

如风
中级会员   /  发表于:2021-3-4 15:00  /   查看:2472  /  回复:9
1金币
本帖最后由 ClarkPan 于 2021-3-4 18:50 编辑

现在我们这边遇到这样一个问题,当用户在单元格中填写内容过多时,字体大小无法进行自动匹配,给用户操作造成很大困扰和不便,具体情况如图:
image.png276866149.png image.png441221618.png
希望能够提供以下两种解决方式:
1、单元格既能够换行又能够缩小字体填充。
2、可以提供判断当前内容是否超出单元格的方法,我们可以通过此种方法逐步对字体进行缩小,最终达到效果。
如果有其他的解决方案请进行提供,感谢!
image.png24955138.png

最佳答案

查看完整内容

上述方案没有改变单元格的大小啊。 只是借助 步骤2、步骤3 所设置的另一个单元格,通过autofitrow 间接获取 目标单元格文本的高度。 获取该高度后,就可以“判断当前内容是否超出单元格”。 这样说您能理解吗?或者您看下上个回答提供的demo中的代码,可能会更容易理解。

9 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-4 15:00:11
来自 6#
本帖最后由 lynn512 于 2021-3-4 16:45 编辑

上述方案没有改变单元格的大小啊。
只是借助 步骤2、步骤3 所设置的另一个单元格,通过autofitrow 间接获取 目标单元格文本的高度。
获取该高度后,就可以“判断当前内容是否超出单元格”。 image.png329405516.png
image.png470467223.png
image.png417807006.png
这样说您能理解吗?或者您看下上个回答提供的demo中的代码,可能会更容易理解。

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-4 15:32:54
2#
本帖最后由 lynn512 于 2021-3-4 15:35 编辑

您好,根据您的描述,您是想根据输入的文本内容实现换行,同时根据单元格宽高自动调整字号,以实现文本的完全显示。
1、单元格既能够换行又能够缩小字体填充。
自动换行 和 字号自动匹配 二者是相悖的,不能同时使用,所以不能直接通过API实现。

2、可以提供判断当前内容是否超出单元格的方法,
未提供这样的判断接口,如果使用自定义单元格,需要您自行调研下cavas的相关资料。

这边有个思路,您可以试下自定义单元格,看能否实现您的需求
下方链接demo为:利用 自定义单元格 实现 单元格文本分散对齐。
https://demo.grapecity.com.cn/Sp ... emos/dispersalAlign
您可以参考下此demo,这边也只是给您提供参考,具体需求的实现还需要您自己调研资料来完成。

回复 使用道具 举报
如风
中级会员   /  发表于:2021-3-4 15:38:55
3#
您好,我们进行了初步的了解,您所提供的这种方式无法达到我们所需要的效果,看一下第二种方式是否可以实现。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-4 16:03:56
4#
本帖最后由 lynn512 于 2021-3-4 16:13 编辑

关于第二种方式:”判断当前内容是否超出单元格“,没有直接判断的接口,
不过可以利用   autoFitRow 间接获取当前单元格内容的高度,从而实现判断。

参考步骤如下:
1. 获取  目标单元格  的列宽(cw)行高(rh)文本内容(v1)
2.新建sheet,设置  某一个单元格的列宽  为1中获取的目标单元格的列宽(cw),单元格赋值为v1
3.设置该单元格 自适应高度,获取该高度(autoFitRh)
4. 判断  (autoFitRh > rh )

附件为示例demo,您可以参考下





判读单元格内容超过行高.zip

11.64 MB, 下载次数: 57

回复 使用道具 举报
如风
中级会员   /  发表于:2021-3-4 16:22:28
5#
您好,我们这个单元格的大小是不能改变的,改变单元格的大小,整体的表格就不符合相关的行业规范了。
回复 使用道具 举报
如风
中级会员   /  发表于:2021-3-4 18:00:28
7#
好的,我这边大概清楚了
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-4 18:05:40
8#
本帖最后由 lynn512 于 2021-3-4 18:06 编辑

好的,后续有疑问继续交流,如果问题解决了可以结贴。
回复 使用道具 举报
如风
中级会员   /  发表于:2021-3-4 18:28:54
9#
好的
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-4 18:50:37
10#
您不用回复此贴了我这里将此贴做关闭处理
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部