找回密码
 立即注册

QQ登录

只需一步,快速开始

动爸
金牌服务用户   /  发表于:2023-11-20 17:18  /   查看:1478  /  回复:9
本帖最后由 Joestar.Xu 于 2023-12-28 16:55 编辑


问题编号:DOCXLS-9544

GcExcel如何处理绑定数据源中内容是富文本?

前端传递的datasource,在gcexcel中设置setDataSource后。没法正常显示富文本,而且内容也没有了。
datasource内容如下:
{"填报数据":{"R25":{"text":"A2","richText":[{"style":{"textDecoration":0,"foreColor":"rgb(0, 0, 0)","font":"14px 宋体"},"text":"A"},{"style":{"vertAlign":1,"textDecoration":0,"foreColor":"rgb(0, 0, 0)","font":"14px 宋体"},"text":"2"}]},"AB25":"C","W25":"V"}}


9 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-11-20 18:01:25
沙发
您好,请问您这边具体是怎么设置的呢?能否提供一个可以复现该问题的Demo,这边复现后调研一下。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-11-21 12:08:04
板凳
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
动爸
金牌服务用户   /  发表于:2023-12-27 16:18:49
地板
本帖最后由 动爸 于 2023-12-27 16:22 编辑
Joestar.Xu 发表于 2023-11-21 12:08
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。

没有解决。业务场景是这样的,我前端使用spreadjs在模板中的数据源设置了内容为富文本,后台使用gcexcel处理。把内容保存到了数据库中。
当我在后台重新查询一个模板出来,使用gcexcel的setDatasouce的方法设置数据源的值,然后返回json在前端使用spreadjs显示。
结果发现设置正常的值都生效了,但是富文本的内容是空的。不显示,另外当绑定值为图片时也是存在这个问题,没有办法在gcexcel中设置后在前端回显

数据源的json:
  1. {"基础数据":{"仪器名称":"多功能参数仪","其他":"无","出厂编号":"123","制造单位":"北汽集团","原始记录编号":"2312251543002121060","型号规格":"43321","客户地址":"李荣测试单位","有效期至":"2024-12-24","检定依据":"JJF 1701.1-2018 测量用互感器型式评价大纲  第1 部分:标准电流互感器、JJF 1809-2020 逆反射测量仪校准规范","检定员":"丁猛","检定周期":"12","检定地点":"校准室","检定日期":"2023-12-25","温度":"22.21℃","溯源性声明":{"text":"44213213","richText":[{"style":{"textDecoration":0,"foreColor":"rgb(0, 0, 0)","font":"14px 宋体"},"text":"4421"},{"style":{"vertAlign":1,"textDecoration":0,"foreColor":"rgb(0, 0, 0)","font":"14px 宋体"},"text":"3213"}]},"相对湿度":"(18.88~54)%","证书编号":"YXTH23-00041","资质选项":"2","送检单位":"李荣测试单位"},"填报数据":{"AG35":5,"AG36":6,"AD36":31,"AG34":4,"AD34":11,"AD35":21}}
复制代码
  1. // 1.1 生成原始记录workbook
  2.         Workbook sourceWorkbook = new Workbook();
  3.         sourceWorkbook.fromJson(templateJson);
  4.         IWorksheet sheet = sourceWorkbook.getWorksheets().get("原始记录");
  5.         // 1.2 设置数据源
  6.         JsonDataSource jsonDataSources = new JsonDataSource(dataJson);
  7.         sheet.setDataSource(jsonDataSources);
复制代码








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-27 17:20:31
5#
您好,请问一下:

“业务场景是这样的,我前端使用spreadjs在模板中的数据源设置了内容为富文本,后台使用gcexcel处理。把内容保存到了数据库中。”

您说的把内容保存到了数据库中具体是怎么保存的呢?是导出为Xlsx文件保存的?还是导出为SJS文件保存的?
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
动爸
金牌服务用户   /  发表于:2023-12-28 11:51:21
6#
Joestar.Xu 发表于 2023-12-27 17:20
您好,请问一下:

“业务场景是这样的,我前端使用spreadjs在模板中的数据源设置了内容为富文本,后台使 ...

数据源的数据都是在前端使用spreadjs保存的json格式,然后在gcexcel重新setDataSource就不行了。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-28 14:25:17
7#
您好,这边理解您的意思了,我在尝试复现您问题的时候遇到了下图的问题:



请问您代码中的templateJson是否就是您附件中的all.ssjson,如果是的话看上去我无法复现您的问题,能否请您提供一个完整的Demo以使我能够复现您的问题呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
动爸
金牌服务用户   /  发表于:2023-12-28 16:24:08
8#
Joestar.Xu 发表于 2023-12-28 14:25
您好,这边理解您的意思了,我在尝试复现您问题的时候遇到了下图的问题:

你自己做一个spreadjs的ssjson就可以了。然后在一个单元格中加上数据源绑定,设置富文本的值。然后toJson把数据源的值保存起来。在gcexcel中重新设置进去看看。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-28 16:44:45
9#
本帖最后由 Joestar.Xu 于 2023-12-28 16:55 编辑

您好,问题已重现,这边调研一下,后续有进展我会在本贴中回复您。

问题编号:DOCXLS-9544
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-28 18:08:35
10#
您好,这是因为GcExcel目前还不支持绑定富文本,这边将您的需求反馈给产品那边,后续有进展我会在本帖中回复您。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部