How to load data from json?

Posted by: priyatama.bhadke on 10 August 2020, 3:30 am EST

  • Posted 10 August 2020, 3:30 am EST

    I want to load data to spreadsheet from Json.

    I am using below code.

    function getjson()

    {

    //activeSheet.getCell(0,0).value(123);

    var jsonStr = null;

    //export

    jsonStr = JSON.stringify(spread.toJSON(false));

    //import

    spread.fromJSON(JSON.parse(jsonStr));

    alert(jsonStr);

    }

    window.onload = function() {

    var ss = new GC.Spread.Sheets.Workbook(document.getElementById(“ss”));

    excelIO = new GC.Spread.Excel.IO();

            refresh();
            
            ss.bind(GC.Spread.Sheets.Events.CellChanged, function (event, data) {
                var row = data.row, col = data.col;
                if (data.propertyName !== 'value' || row === undefined || col === undefined) {
                    return;
                }
                showChanges(ss, row, col);
            });
    
            ss.bind(GC.Spread.Sheets.Events.RangeChanged, function (event, data) {
                var row = data.row, col = data.col, rowCount = data.rowCount, colCount = data.colCount;
                if (row === undefined || col === undefined || rowCount === undefined || colCount === undefined) {
                    return;
                }
            
                showChanges(ss, row, col, rowCount, colCount);
            });                
        }
    

    function refresh() {

    var ss = GC.Spread.Sheets.findControl(document.getElementById(“ss”));

    var sheet = ss.getActiveSheet();

    sheet.reset();

    sheet.setColumnCount(7);

            var data = createSampleData();
            loadTable(ss, data);                        
    
            sheet.suspendDirty();          
            sheet.getCell(0, 5).backColor('yellow')
                .value('Changes')
                .hAlign(GC.Spread.Sheets.HorizontalAlign.center);
    
            sheet.resumeDirty();
    
            // lock the 'F' column
            sheet.options.isProtected = true;
            var s = sheet.getDefaultStyle();
            s.locked = false;
            sheet.setDefaultStyle(s);
    
            sheet.getRange(-1, 5, -1, 1).locked(true);
        }
    

    well, createSampleData() is a function which loads data

    function createSampleData() {

    return [

    { Course: “Calculus”, Term: 1, Credit: 5, Score: 80, Teacher: “Nancy.Feehafer” },

    { Course: “P.E.”, Term: 1, Credit: 3.5, Score: 85, Teacher: “Andrew.Cencini” },

    { Course: “Political Economics”, Term: 1, Credit: 3.5, Score: 95, Teacher: “Jan.Kotas” },

    { Course: “Basic of Computer”, Term: 1, Credit: 2, Score: 85, Teacher: “Steven.Thorpe” },

    { Course: “Micro-Economics”, Term: 1, Credit: 4, Score: 62, Teacher: “Jan.Kotas” },

    { Course: “Linear Algebra”, Term: 2, Credit: 5, Score: 73, Teacher: “Nancy.Feehafer” },

    { Course: “Accounting”, Term: 2, Credit: 3.5, Score: 86, Teacher: “Nancy.Feehafer” },

    { Course: “Statistics”, Term: 2, Credit: 5, Score: 85, Teacher: “Robert.Zare” },

    { Course: “Marketing”, Term: 2, Credit: 4, Score: 70, Teacher: “Laura.Giussani” }

    ];

    }

    I want to pass my own json string here but it gives me error like “spread is not defined”

  • Posted 12 August 2020, 2:34 am EST

    Hi,

    Looking at your code we found that in getJSON you are accessing the spread that is not defined please make sure that spread is defined in that context. Please refer to the following code snippet to use toJSON to from JSON and let us know if you face any issues

    var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), {
      sheetCount: 3
    });
    var jsonStr = null;
    //export
    jsonStr = JSON.stringify(spread.toJSON());
    //import
    spread.fromJSON(JSON.parse(jsonStr));
    
    

    APIRefremces:

    toJSON: https://www.grapecity.com/spreadjs/docs/v13/online/SpreadJS~GC.Spread.Sheets.Workbook~toJSON.html

    fromJSON: https://www.grapecity.com/spreadjs/docs/v13/online/SpreadJS~GC.Spread.Sheets.Workbook~fromJSON.html

    Regards

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels