找回密码
 立即注册

QQ登录

只需一步,快速开始

KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-15 17:08:20
11#
您好,这个与字体没什么关系,您可以检查一下您代码中html字符是否引发了一些转义、单、双引号的坑,

如果还是无法发现问题,推荐您也打包一个能重现问题的Demo包,我们这边运行起来重现一下问题,再排查看看怎么解决。
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-8-15 22:28:45
12#
KevinChen 发表于 2019-8-15 17:08
您好,这个与字体没什么关系,您可以检查一下您代码中html字符是否引发了一些转义、单、双引号的坑,

如 ...

你好,
附件中提供了两个模板,一个是ok的,一个是不行的,只是字体不一样(坐标:B9),在导出页面中

views.zip

11.36 KB, 下载次数: 801

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-16 10:18:36
13#
您好,您的问题正在处理,中午之前给您答复
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-8-16 10:25:32
14#
KevinChen 发表于 2019-8-16 10:18
您好,您的问题正在处理,中午之前给您答复

好的,还有现在显示的时候,会显示html字符串,可以不显示html字符串,只显示最后的渲染效果吗?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-16 10:58:01
15#
您好,解决html显示的问题有两个方案:

1、设置allowCellOverflow为false:
  1. sheet.options.allowCellOverflow = false;
复制代码


2、或者,重写paintValue方法,直接return即可:
  1. HTMLCellType.prototype.paintValue = function(){return;}
复制代码


推荐第二个方案。

另外,很好奇的一点,SpreadJS从V12开始支持原生富文本编辑,

参考这个示例:

https://demo.grapecity.com.cn/Sp ... demos/basicRichText

而且从V11升级V12不需要改动您自己的代码,V12完全兼容V11,

您目前又是在金牌期内,可以免费申请到V12的授权,

因此建议您考虑用V12的富文本实现,比HTML的方式更可靠和强大
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-8-16 14:04:35
16#
KevinChen 发表于 2019-8-16 10:58
您好,解决html显示的问题有两个方案:

1、设置allowCellOverflow为false:

富文本暂时还达不到我们的要求,希望的需求是:我们已知一串html的字符串,希望能够在spreadjs的某个cell中渲染成html的效果。
之前给的demo中不同字体,显示的格式不一样的,有解决方案吗?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-16 17:52:09
17#
您好,根据您提供的ssjson,确实重现了这个问题,问题原因还不确定,本帖暂时改为【未处理】,周一给您答复。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-20 09:37:38
18#
您好,这个问题已经转到问题系统中,本帖状态改为【保留处理】,后续进展请关注帖子,谢谢~
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-8-20 09:45:40
19#
KevinChen 发表于 2019-8-20 09:37
您好,这个问题已经转到问题系统中,本帖状态改为【保留处理】,后续进展请关注帖子,谢谢~

现在无法解决方案?
那对于这样一个需求:现在有一个html的字符串,如何能解析放在cell中?富文本是不支持的,有其他解决方案吗? 谢谢~
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-20 09:57:26
20#
您好,经过分析发现这个CellType与您模板中的样式有冲突,但具体原因不明确,需要深入分析一下。

SpreadJS是canvas实现的,不支持直接渲染html样式,用自定义单元格就是最直接地通过修改paint方法来渲染html,

除此之外,如果仅仅用作展示,还可以考虑把html放到浮动对象中,把浮动对象定位到单元格上,浮动对象可以随着单元格的尺寸改变而改变,可以参考这篇Demo:

https://demo.grapecity.com.cn/sp ... oatingObject/purejs
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部