找回密码
 立即注册

QQ登录

只需一步,快速开始

中天

注册会员

5

主题

15

帖子

44

积分

注册会员

积分
44
中天
注册会员   /  发表于:2022-1-14 10:53  /   查看:2133  /  回复:2
1金币
在项目内引入在线编辑器,使用spread.toJSON()获取表格JSON时所有样式和内容丢失,但是使用编辑器的导出功能则能够正确导出JSON

错误的JSON为

  1. {
  2.     "version": "14.2.5",
  3.     "customList": [],
  4.     "sheets": {
  5.         "Sheet1": {
  6.             "name": "Sheet1",
  7.             "isSelected": true,
  8.             "frozenTrailingRowStickToEdge": true,
  9.             "frozenTrailingColumnStickToEdge": true,
  10.             "theme": "Office",
  11.             "data": {
  12.                 "defaultDataNode": {
  13.                     "style": {
  14.                         "themeFont": "Body"
  15.                     }
  16.                 }
  17.             },
  18.             "rowHeaderData": {},
  19.             "colHeaderData": {},
  20.             "leftCellIndex": 0,
  21.             "topCellIndex": 0,
  22.             "selections": {
  23.                 "0": {
  24.                     "row": 0,
  25.                     "rowCount": 1,
  26.                     "col": 0,
  27.                     "colCount": 1
  28.                 },
  29.                 "length": 1
  30.             },
  31.             "rowOutlines": {
  32.                 "items": []
  33.             },
  34.             "columnOutlines": {
  35.                 "items": []
  36.             },
  37.             "cellStates": {},
  38.             "states": {},
  39.             "outlineColumnOptions": {},
  40.             "autoMergeRangeInfos": [],
  41.             "shapeCollectionOption": {
  42.                 "snapMode": 0
  43.             },
  44.             "index": 0
  45.         }
  46.     }
  47. }
复制代码


最佳答案

查看完整内容

你好,请问是否有设置ignoreStyle这样的option呢? 如果没有,请把完整的demo提供给我们调研一下。

2 个回复

正序浏览
中天
注册会员   /  发表于:2022-1-14 15:09:12
2#
准确的说是,在onMounted里多次初始化编辑器,导致spread.toJSON()  不能输出最新的表格
初始化,这个会被多次调用
  1.     onMounted(() => {
  2.       const designer = new DesignerGC.Spread.Sheets.Designer.Designer(
  3.         ssDesigner.value
  4.       )
  5.       emit('designerInitialized', designer)
  6.     })
复制代码


获取spread
  1.     const designerInitialized = (wb) => {
  2.       console.log('设计器初始化', baseTemplate)
  3.       spread = wb.getWorkbook()}
复制代码


加载表格
  1. spread.fromJSON(templateJson)
复制代码


编辑后导出json

  1. const excelJson = spread.toJSON()
复制代码


第一次正常,第二次进行到“编辑后导出json”时,导出的json里所有修改内容全部被丢弃了,导出的是加载时的内容 templateJson,但是通过编辑器自己的导出JSON文件功能,可以正常导出

回复 使用道具 举报
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-14 10:53:29
来自 3#
中天 发表于 2022-1-14 15:09
准确的说是,在onMounted里多次初始化编辑器,导致spread.toJSON()  不能输出最新的表格
初始化,这个会被 ...

你好,请问是否有设置ignoreStyle这样的option呢?
image.png882262267.png

如果没有,请把完整的demo提供给我们调研一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部