I have a div configured as a kendoSpreadsheet. Using the native "Open..." button in the toolbar, I open an XLSX file that happens to contain named ranges. Importantly, formulae in the spreadsheet are expressed in terms of named ranges.
Some console logging confirms that unfortunately, the named ranges are stripped out of the JSON that is returned from the toJSON() method.
This is my testbed:
var kendoSpreadsheet = $("#mySpreadsheetDiv").data("kendoSpreadsheet")
console.log(kendoSpreadsheet);// Do we see names preserved? - yes, we can see this via "_workbook/_names"
var jsonObject = kendoSpreadsheet.toJSON();
console.log(jsonObject);// Do we see names preserved? - no, we don't
So it means that the JSON is actually useless as a representational format. Here's why:
A typical application requires that I use that same JSON string to re-instantiate that spreadsheet on the server-side, using Telerik.Web.Spreadsheet.Workbook.Load() followed by ToDocument() to convert it to a Telerik.Windows.Documents.Spreadsheet.Model.Workbook.
But a spreadsheet instantiated in this way can't be touched - as soon as I set the value of a cell (specifically, a cell that used to be a Named Range) using Worksheet.Cells[row, column].SetValue(somevalue), the spreadsheet breaks. All the formulae involving named ranges now come up as #NAME? (naturally enough, because the named ranges have been stripped out)
It's a pretty big issue - I haven't seen a serious spreadsheet that does NOT use named ranges. I'm tempted to think I'm missing something. If not, are there any plans for a fix?