动爸 发表于 2023-11-20 17:18:34

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

本帖最后由 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"}}


Joestar.Xu 发表于 2023-11-20 18:01:25

您好,请问您这边具体是怎么设置的呢?能否提供一个可以复现该问题的Demo,这边复现后调研一下。

Joestar.Xu 发表于 2023-11-21 12:08:04

您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。

动爸 发表于 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:
{"基础数据":{"仪器名称":"多功能参数仪","其他":"无","出厂编号":"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 生成原始记录workbook
      Workbook sourceWorkbook = new Workbook();
      sourceWorkbook.fromJson(templateJson);
      IWorksheet sheet = sourceWorkbook.getWorksheets().get("原始记录");
      // 1.2 设置数据源
      JsonDataSource jsonDataSources = new JsonDataSource(dataJson);
      sheet.setDataSource(jsonDataSources);







Joestar.Xu 发表于 2023-12-27 17:20:31

您好,请问一下:

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

您说的把内容保存到了数据库中具体是怎么保存的呢?是导出为Xlsx文件保存的?还是导出为SJS文件保存的?

动爸 发表于 2023-12-28 11:51:21

Joestar.Xu 发表于 2023-12-27 17:20
您好,请问一下:

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

数据源的数据都是在前端使用spreadjs保存的json格式,然后在gcexcel重新setDataSource就不行了。

Joestar.Xu 发表于 2023-12-28 14:25:17

您好,这边理解您的意思了,我在尝试复现您问题的时候遇到了下图的问题:



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

动爸 发表于 2023-12-28 16:24:08

Joestar.Xu 发表于 2023-12-28 14:25
您好,这边理解您的意思了,我在尝试复现您问题的时候遇到了下图的问题:




你自己做一个spreadjs的ssjson就可以了。然后在一个单元格中加上数据源绑定,设置富文本的值。然后toJson把数据源的值保存起来。在gcexcel中重新设置进去看看。

Joestar.Xu 发表于 2023-12-28 16:44:45

本帖最后由 Joestar.Xu 于 2023-12-28 16:55 编辑

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

问题编号:DOCXLS-9544

Joestar.Xu 发表于 2023-12-28 18:08:35

您好,这是因为GcExcel目前还不支持绑定富文本,这边将您的需求反馈给产品那边,后续有进展我会在本帖中回复您。
页: [1]
查看完整版本: GcExcel如何处理绑定数据源中内容是富文本