找回密码
 立即注册

QQ登录

只需一步,快速开始

热点科技
初级会员   /  发表于:2022-12-23 16:35:19
11#
Ellia.Duan 发表于 2022-12-23 15:47
您好,这边明白您的需求了,您可以参考这篇文章
https://gcdn.grapecity.com.cn/showtopic-155387-1-2. ...

"如果不使用在线表格编辑器的导出功能,需要在toJSON导出ssjson"


以上就是我的需求。

如何通过toJSON导出呢? 我的代码如下,是否是正确的代码


  1. <pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'JetBrains Mono',monospace;font-size:14.3pt;"><span style="color:#e8bf6a;"><Designer </span><span style="color:#bababa;">styleInfo</span><span style="color:#6a8759;">=</span>{{<span style="color:#9876aa;">width</span>: <span style="color:#6a8759;">"100%"</span><span style="color:#cc7832;">, </span><span style="color:#9876aa;">height</span>: <span style="color:#6a8759;">'98vh'</span>}} <span style="color:#bababa;">config</span><span style="color:#6a8759;">=</span>{config}
  2.           <span style="color:#bababa;">designerInitialized</span><span style="color:#6a8759;">=</span>{designer => <span style="color:#cc7832;">this</span>.<span style="color:#ffc66d;">initSpread</span>(designer)}
  3.    <span style="color:#bababa;">spreadOptions</span><span style="color:#6a8759;">=</span>{{<span style="color:#9876aa;">sheetCount</span>: <span style="color:#6897bb;">1</span>}}<span style="color:#e8bf6a;">></Designer></span></pre><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'JetBrains Mono',monospace;font-size:14.3pt;"><span style="color:#e8bf6a;">
  4. </span></pre><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'JetBrains Mono',monospace;font-size:14.3pt;"><span style="color:#e8bf6a;">
  5. </span></pre><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'JetBrains Mono',monospace;font-size:14.3pt;"><pre style="font-family: &quot;JetBrains Mono&quot;, monospace; font-size: 14.3pt;"><span style="color:#ffc66d;">initSpread</span>(designer) {
  6.     <span style="color:#cc7832;">this</span>.<span style="color:#9876aa;">designer </span>= designer<span style="color:#cc7832;">;
  7. </span>}</pre></pre>
复制代码




回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-12-23 16:36:03
12#
热点科技 发表于 2022-12-23 16:35
"如果不使用在线表格编辑器的导出功能,需要在toJSON导出ssjson"

<Designer styleInfo={{width: "100%", height: '98vh'}} config={config}
                          designerInitialized={designer => this.initSpread(designer)}
                   spreadOptions={{sheetCount: 1}}></Designer>

    initSpread(designer) {
        this.designer = designer;
    }

  let serializationOption = {
            ignoreFormula: this.noFormula,
            ignoreStyle: this.noStyle,
            rowHeadersAsFrozenColumns: this.SaveCustomRowHeaders,
            columnHeadersAsFrozenRows: this.SaveCustomColumnHeaders
        };
        //ToJson
        let designer = this.designer;
        let jsonStr = JSON.stringify(this.designer.toJSON(serializationOption));
        console.info("ssjson:"+jsonStr)
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-12-23 16:56:36
13#
热点科技 发表于 2022-12-23 16:36
this.initSpread(designer)}
                   spreadOptions={{sheetCount: 1}}>


如下图所示:
image.png468775329.png
let obj  = spread.toJSON()
obj['designerBindingPathSchema'] = designer.getData("updatedTreeNode")

回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-12-23 17:42:07
14#
Ellia.Duan 发表于 2022-12-23 16:56
如下图所示:

let obj  = spread.toJSON()

谢谢 问题解决了
  1. let designerBindingPathSchema = this.designer.getData("treeNodeFromJson") || this.designer.getData("updatedTreeNode") || this.designer.getData("oldTreeNodeFromJson");
  2.         let designer = GC.Spread.Sheets.findControl("gc-designer-container");
  3.         let spread = this.designer.getWorkbook();
  4.         let jsonOptions = {
  5.             ignoreFormula: this.import_noFormula,
  6.             ignoreStyle: this.import_noStyle,
  7.             frozenColumnsAsRowHeaders: this.import_rowHeaders,
  8.             frozenRowsAsColumnHeaders: this.import_columnHeaders,
  9.             doNotRecalculateAfterLoad: this.import_donotrecalculateafterload
  10.         };
  11.         let serializationOption = {
  12.             ignoreFormula: this.noFormula,
  13.             ignoreStyle: this.noStyle,
  14.             rowHeadersAsFrozenColumns: this.SaveCustomRowHeaders,
  15.             columnHeadersAsFrozenRows: this.SaveCustomColumnHeaders
  16.         };
  17.         //ToJson
  18.         let jsonStr = JSON.stringify(spread.toJSON(serializationOption));
  19.         console.info("ssjson:"+jsonStr)
复制代码
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-12-23 17:49:38
15#

问题解决了就好,那本帖就先结贴啦,有问题欢迎发新帖询问。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部