
Thank you so much for your support. I have
implemented the code but I get a NullReferenceException error on this line:
Stream fileStream =
Workbook.Save<Stream>(saveSettings);
Every property in saveSettings has a value, so I
can only think that it must be a null somewhere in saveSettings.JSONData?
This is the JSONData that the front-end is sending
me:
{"Workbook":{"enableRtl":false,"locale":"en-US","openUrl":"https://ej2services.syncfusion.com/production/web-services/api/spreadsheet/open","saveUrl":"https://ej2services.syncfusion.com/production/web-services/api/spreadsheet/save","enablePersistence":false,"cellStyle":{"fontFamily":"Calibri","verticalAlign":"bottom","textIndent":"0pt","backgroundColor":"#ffffff","color":"#000000","textAlign":"left","fontSize":"11pt","fontWeight":"normal","fontStyle":"normal","textDecoration":"none","border":"","borderLeft":"","borderTop":"","borderRight":"","borderBottom":""},"showRibbon":true,"showFormulaBar":true,"showSheetTabs":true,"allowEditing":true,"allowOpen":true,"allowSave":true,"enableContextMenu":true,"selectionSettings":{"mode":"Multiple"},"enableKeyboardNavigation":true,"allowNumberFormatting":true,"enableKeyboardShortcut":true,"enableClipboard":true,"allowCellFormatting":true,"allowSorting":true,"allowResizing":true,"allowHyperlink":true,"allowUndoRedo":true,"allowFiltering":true,"allowWrap":true,"allowInsert":true,"allowDelete":true,"allowDataValidation":true,"allowFindAndReplace":true,"allowMerge":true,"allowConditionalFormat":true,"allowImage":true,"allowChart":true,"activeSheetIndex":0,"cssClass":"","height":"100%","width":"100%","allowScrolling":true,"scrollSettings":{"enableVirtualization":true,"isFinite":false},"definedNames":[],"sheets":[{"columns":[{},{}],"name":"Sheet1","rows":[{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"name"},{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"age"}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"a"},{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"10"}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}},{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"b"},{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"20"}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}},{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"dc"},{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"30"}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"},"value":"apurba"},{"isLocked":true,"style":{"verticalAlign":"Middle"}}]}],"selectedRange":"B7:B7","usedRange":{"rowIndex":6,"colIndex":1},"rowCount":100,"colCount":100,"topLeftCell":"A1","activeCell":"B7","showHeaders":true,"showGridLines":true,"state":"Visible","protectSettings":{},"isProtected":false,"index":0,"id":1},{"columns":[{}],"isProtected":true,"name":"Evaluation
Warning","protectSettings":{"selectCells":true,"formatCells":false,"insertLink":false},"rows":[{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]},{"cells":[{"isLocked":true,"style":{"fontSize":"14pt","fontWeight":"Bold","verticalAlign":"Middle"},"value":"Created
with a trial version of Syncfusion Essential
XlsIO"}],"height":33},{"cells":[{"isLocked":true,"style":{"verticalAlign":"Middle"}}]}],"selectedRange":"A1:A1","usedRange":{"rowIndex":10,"colIndex":0},"rowCount":100,"colCount":100,"topLeftCell":"A1","activeCell":"A1","showHeaders":true,"showGridLines":true,"state":"Visible","index":0,"id":2}]}}
Any ideas?
Thank you!
Fabricio Rodriguez
|
created() {
var parsedData = JSON.parse(this.response); // Parse the stringified response
this.spreadsheetObj.openFromJson({
file: parsedData
});
}
beforeSave(args: beforeSaveEventArgs) {
args.isFullPost = false;
}
[HttpPost("Save")]
[Microsoft.AspNetCore.Cors.EnableCors("MyPolicy")]
public string Save([FromForm] SaveSettings saveSettings)
{
ExcelEngine excelEngine = new ExcelEngine();
IApplication application = excelEngine.Excel;
try
{
// Convert Spreadsheet data as Stream
string basePath = Startup._env.ContentRootPath.ToString() + "/Files/" + saveSettings.FileName + ".xlsx";
Stream fileStream = Workbook.Save<Stream>(saveSettings);
IWorkbook workbook = application.Workbooks.Open(fileStream);
var file = System.IO.File.Create(basePath);
fileStream.Seek(0, SeekOrigin.Begin);
fileStream.CopyTo(file); // to convert the stream to file options
file.Dispose();
fileStream.Dispose();
return basePath;
}
catch (Exception ex)
{
return "Failure";
}
} |