This article briefly explains the specifics of RadSpreadStreamProcessing - what is spread streaming, how it works compared to the RadSpreadProcessing library and when to use it.
RadSpreadStreamProcessing is part of the Telerik Document Processing libraries. The full documentation for this component is available at https://docs.telerik.com/devtools/document-processing/libraries/radspreadstreamsprocessing.
Spread streaming is a document processing paradigm that allows you to create big spreadsheet documents with great performance and minimal memory footprint.
The key for the memory efficiency is that the spread streaming library writes the spreadsheet content directly to a stream without creating and preserving the spreadsheet document model in memory. Each time an exporter object is disposed, the set values are written into the stream. This allows you to create large documents with an excellent performance.
Some of the features you can take advantage of are:
Export to XLSX or CSV files
Writing directly into a stream
Grouping: Helps you organize data in sections, to be able to show and hide the currently relevant chunks.
Cell formatting: A number of properties enabling you to apply the desired look to a cell.
Cell styles: Using cell styles allows you to apply multiple format options in one step and also offers an easy approach to achieve consistency in cell formatting.
Merge cells: You have the ability to merge two or more adjacent cells into a single cell that spans over multiple rows and columns.
Controlling the view state of a sheet:
- Setting scale factor
- Control over the selection and the active cell
- Show/hide gridlines
- Show/hide row and column headers
- Freezing panes: Keep part of the worksheet always visible while scrolling.
- Changing the first visible cell: when you would like to show a particular part of the sheet to the user on opening the document in a viewer.
There are two main differences between the libraries.
- RadSpreadStreamProcessing can be used only to create documents and append data to existing ones. On the other hand you can use the RadSpreadProcessing also for reading and modifying the content of documents.
- RadSpreadStreamProcessing writes directly into a stream, unlike RadSpreadProcessing which creates models for the elements in the document. This is why the memory used with the spread streaming library is significantly lower than when using RadSpreadProcessing.
You can use RadSpreadStreamProcessing to create and export large amount of data with a low memory footprint and great performance.
In order to use the RadSpreadStreamProcessing you have to add references to the following assemblies: