This article briefly explains the specifics of RadSpreadStreamProcessing - what is spread streaming, how it works compared to the RadSpreadProcessing library, when to use it, and what are its key features.
If you want to skip this introductory article and directly start using SpreadStreamProcessing, take a look at the Getting Started with RadSpreadStreamProcessing help topic.
The RadSpreadStreamProcessing is part of Telerik Document Processing, a
professional grade .NET library for creating and manipulating PDF, Word, XLSX and HTML files. To try it out sign up for a free 30-day trial.
The RadSpreadStreamProcessing is part of Telerik Document Processing, a professional grade .NET library for creating and manipulating PDF, Word, XLSX and HTML files. To try it out sign up for a free 30-day trial.
If you still don't have Telerik Document Processing installed, check the First Steps topic to learn how you can obtain the packages through the different suites with Telerik controls.
You can find the code example from the image above in our SDK repository on GitHub. This repository contains numerous examples that cover all Document Processing libraries.
What is Spread Streaming?
Spread streaming is a document processing paradigm that allows you to create or read 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 excellent performance.
While reading, RadSpreadStreamProcessing parses only the required chunk of information. This ensures minimal use of application resources.
Some of the features you can take advantage of are:
Write directly into a stream; or parse only required data
Append new worksheets to existing workbook
Grouping: Helps you organize data in sections, to be able to show and hide the currently relevant chunks.
Hidden rows and columns: The API allows you to set the hidden state of each row or column.
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.
RadSpreadStreamProcessing vs. RadSpreadProcessing
The main differences between the two spreadsheet processing libraries include:
- RadSpreadStreamProcessing writes directly into a stream, while RadSpreadProcessing creates models for the elements in the document. This is why the spread streaming library uses significantly less memory than RadSpreadProcessing.
- RadSpreadStreamProcessing does not perform any formula or other layout-related calculations, which makes its file generation performance much better compared to RadSpreadProcessing.
When to Use RadSpreadStreamProcessing
You can use the RadSpreadStreamProcessing library to create or read large amount of data with a low memory footprint and great performance. You can also append data to an already existing document stream. The generated document can be exported directly to a file on the file system or to a stream (for example, to send it to the client).