首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpreadJS FromJson图加载

SpreadJS FromJson图加载
EN

Stack Overflow用户
提问于 2018-11-18 13:27:24
回答 1查看 473关注 0票数 0

我正在使用SpreadJS v12作为报告工具。用户将输入页面,获取想要的数据,创建图表并保存以供以后使用。当用户保存报表时,我获得Json数据(GC.Spread.Sheets.Workbook.toJSon)并将此Json保存到数据库中,每当有人试图访问同一个报告时,我就从数据库中获取Json并将其交给页面(GC.Spread.Sheets.Workbook.fromJSon)。除了页面上有一个图表,图表系列(xValues和yValues)的数据源发生变化外,一切都很好。当我检查Json格式时,它看起来是这样的: Sheet2!$B$2:$B$25,但在图表中它是: Sheet2!$A$1:$A$24。我做错了什么吗?

顺便说一下,我的序列化选项:{ ignoreFormula: false,ignoreStyle: false,rowHeadersAsFrozenColumns: true,columnHeadersAsFrozenRows: true,doNotRecalculateAfterLoad: false }

this.state.spread = new GC.Spread.Sheets.Workbook(document.getElementById("spreadSheetContent"), { sheetCount: 1 });

这是我的保存方法:

代码语言:javascript
复制
var pageJson = this.state.spread.toJSON(this.serializationOption);
let self = this;
        let model = {
            Id: "",
            Name: reportName,
            Query: query,
            PageJson: JSON.stringify(pageJson)
        }

        this.post( { model }, "Query/SaveReportTemplate")
            .done(function(reply){
                self.createSpreadSheet(reply);
           }).fail(function(reply){
                self.PopUp(reply, 4 );
        });

这是我的加载方法:

代码语言:javascript
复制
var jsonOptions = {
            ignoreFormula: false,
            ignoreStyle: false,
            frozenColumnsAsRowHeaders: true, 
            frozenRowsAsColumnHeaders: true,                                     
            doNotRecalculateAfterLoad: false 
        }

        this.state.spread.fromJSON(JSON.parse(template.PageJson),jsonOptions);

        this.state.spread.repaint();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-20 07:08:22

在漫长的一天之后,我想我已经找到了问题的根源,并开始着手解决这个问题。

假设我们有两张床单。Sheet2 1的索引是0,Sheet2 2的索引是1。由于json的序列化选项,比如frozenColumnsAsRowHeaders和frozenRowsAsColumnHeaders,直到Sheet2被绘制出来,在json中行号和列号是不同的。

如果Sheet1中存在引用Sheet2的公式或图表,则它们的引用将指向与您首先设置的单元格不同的单元格。因此,总是引用之前将要绘制的纸张是解决这个问题的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53361379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档