请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

kinga

注册会员

2

主题

2

帖子

12

积分

注册会员

积分
12
  • 43

    金币

  • 2

    主题

  • 2

    帖子

最新发帖
kinga
注册会员   /  发表于:2025-5-7 11:58  /   查看:58  /  回复:3
问题:
导出Excel后需要对Excel进行编辑,编辑完导出ssjson出现富文本,
原来的

            "17": {
              "value": "165044582",
              "style": "__builtInStyle4"
            },

变成了

            "9": {
              "value": {
                "value": "00010",
                "richText": [
                  {
                    "text": "0"
                  },
                  {
                    "style": {
                      "foreColor": null,
                      "font": "normal normal 13.3px Arial"
                    },
                    "text": "0010"
                  }
                ],
                "text": "00010"
              },
              "style": "__builtInStyle10"
            },


如何恢复或者不导出有富文本的ssjson
我们需要稳定的不出现富文本的ssjson,需要根据这个json去取值

3 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-5-7 17:18:07
沙发
您好,正常情况下来说,只要您不使用富文本编辑器编辑单元格中的内容,是不会存储richText 的。

但是如果Excel源文件中就存在富文本,除非您再导出前针对性地修改单元格的样式,否则富文本的数据仍会保存。

回到您的问题上来,您之所以想要SSJSON中不出现富文本,是因为您需要通过JSON去获取单元格的值。

实际上我们并不推荐客户以任何形式直接读取JSON中的数据,因为JSON可能会随着版本的迭代而变化,就有可能导致您的代码无法在新版本正确读取JSON。

正确的处理方式是将SSJSON导入到SpreadJS中,然后调用Public的API去获取数据。

如果您一定要通过SSJSON获取数据,目前来说只能在导出时忽略样式,但是这样做下一次导入时样式不会保留。

或者您也可以继续解析richText对象中的数据,最后将所有的值拼接起来,即可获取单元格的数据。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-5-7 17:28:16
板凳
您好!请教下您的原文件是在SpreadJS中设计好的吗?随后将其导出为xlsx文件,并通过Microsoft Excel打开该xlsx文件,修改后再使用SpreadJS导入xlsx文件,紧接着将sheet保存为ssjson文件?

如果是上述操作步骤,那么原文件中是否包含有富文本?如果我的理解与您实际操作步骤不相符,您可以提供下原文件和能够复现问题的步骤,我参考测试分析下。

另外,您需要从json中读取什么数据?不建议您从json数据中访问属性字段,因为在版本迭代过程中或因增强原功能或新增功能等不可避免地修改了json数据内部结构,在升级版本后可能会不兼容,建议您使用公开API访问相关数据。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:5 天前
地板
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部