白鱼 发表于 2023-12-15 09:38:01

上传导入excel,形状中的文字颜色变成白色

本帖最后由 Richard.Huang 于 2023-12-19 11:59 编辑


产品:SpreadJS
版本:15.2.2
问题编号:SJS-21907

问题如题,上传导入excel文件,形状中的文字颜色变成白色了,excel中显示是黑色,如何处理这种场景又不影响其它场景?
已在官网环境验证,测试excel在附件


Ellia.Duan 发表于 2023-12-15 09:50:37

本帖最后由 Ellia.Duan 于 2023-12-15 10:05 编辑

您好,您的问题已在v16.2.6版本复现,当导入Excel文件后,形状里面的字体颜色从黑色变为白色。
此问题将深入调研。
除此之外,在v15.2.2版本,也可以设置形状的字体颜色,如下图所示:

您可以先按照此步骤设置字体颜色。

问题编号:【SJS-21907】

白鱼 发表于 2023-12-15 10:23:16

Ellia.Duan 发表于 2023-12-15 09:50
您好,您的问题已在v16.2.6版本复现,当导入Excel文件后,形状里面的字体颜色从黑色变为白色。
此问题将深 ...

是否可以在代码层面去设置这个颜色呢?

Ellia.Duan 发表于 2023-12-15 15:00:06

您好,您可以通过下面的代码设置:
let shape = sheet.shapes.all();
var oldStyle = shape .style();
oldStyle.textEffect.color = "red";
shape .style(oldStyle);结果如下:

白鱼 发表于 2023-12-15 15:22:10

Ellia.Duan 发表于 2023-12-15 15:00
您好,您可以通过下面的代码设置:
结果如下:
线下数据的颜色从json数据的哪里可以拿到呢?这里最好还是希望能够还原线下excel的字体颜色,这个场景我们是通过对每一个sheet 进行fromJson操作,因此可以拿到原始的json数据,怎么从json数据中拿到对应的颜色,再使用这个方案去设置字体颜色呢?

Ellia.Duan 发表于 2023-12-15 17:56:33

您好,关于此问题已经提交给开发团队调研,是否存在bug?
上述代码只是临时解决方案。
以及您提到的从json数据拿到对应的颜色,您可以上传下原始的json文件。

Ellia.Duan 发表于 2023-12-19 12:28:49

您好,经过调研,此问题不是bug ,形状中的文本是 SpreadJS 不支持的富文本内容。
我将您的帖子移至产品需求板块,同时已记录您的需求。待有进展,会及时联系您。

chess3cake 发表于 2023-12-23 22:02:57

白鱼 发表于 2023-12-15 15:22
线下数据的颜色从json数据的哪里可以拿到呢?这里最好还是希望能够还原线下excel的字体颜色,这个场景我 ...

用IRange的ToJson的数据,然后使用正则把颜色取出来。但是有一些字体数据在fromJson的时候就会丢掉。

AlexZ 发表于 2023-12-24 17:18:03

形状中支持富文本需要完整的功能支持

白鱼 发表于 2023-12-25 09:54:24

chess3cake 发表于 2023-12-23 22:02
用IRange的ToJson的数据,然后使用正则把颜色取出来。但是有一些字体数据在fromJson的时候就会丢掉。

因为是从线下导入excel,只能拿到线下的excel转换成的json数据,因此没有IRange对象也无法执行ToJson操作。官方解释是富文本内容,那我得看看怎么把上传json数据中富文本内容的这个字体颜色提取出来,实在不行就设置为默认黑色。
页: [1] 2
查看完整版本: 上传导入excel,形状中的文字颜色变成白色