Posted 30 October 2025, 12:52 pm EST
We noticed that SpreadJS open/save has many options. Can you help us optimize the open/save speed. We want to keep formulas/styles, but don’t need to recompute the cell values (cells with formulas).
Forums Home / Spread / SpreadJS
Posted by: peter on 30 October 2025, 12:52 pm EST
Posted 30 October 2025, 12:52 pm EST
We noticed that SpreadJS open/save has many options. Can you help us optimize the open/save speed. We want to keep formulas/styles, but don’t need to recompute the cell values (cells with formulas).
Posted 31 October 2025, 1:50 am EST - Updated 31 October 2025, 2:10 am EST
Hi Peter,
Based on your requirements, the key to optimizing performance is to disable formula recalculation during the open operation. SpreadJS provides specific options in the OpenOptions and SaveOptions that control this behavior.
Recommended Configuration:
When opening your files, please use the following settings:
spread.open(fileData, null, {
includeStyles: true, // Keep all styles
includeFormulas: true, // Keep all formulas
fullRecalc: false, // Don't recalculate on load
dynamicReferences: false, // Skip dynamic reference calculations
calcOnDemand: false, // Disable on-demand calculation
incrementalCalculation: false, // Disable incremental calculation
includeUnusedStyles: false, // Exclude unused styles for better performance
openMode: GC.Spread.Sheets.OpenMode.normal
});
When saving your files, please use the following settings:
spread.save(function(blob) {}, function(error) {}, {
includeStyles: true, // Include all styles
includeFormulas: true, // Include all formulas
includeBindingSource: false, // Exclude binding source for better performance
includeAutoMergedCells: false, // Exclude auto-merged cells if not needed
includeCalcModelCache: false, // Exclude calculation cache
includeUnusedNames: false, // Exclude unused custom names
includeEmptyRegionCells: false,// Exclude empty cells outside used range
saveAsView: false // Don't apply format strings to values
});
You can further refer to the attached sample that opens the SJS file while providing various configuration options that can be used for optimizing the load and save operations (see below).
Please let us know if you require any further assistance.
Kind Regards,
Chirag
Attachment: https://jscodemine.mescius.io/share/JTGCs4UaLEifmqDyByfCwQ
References: