Generate big spreadsheet documents with great performance and minimal memory footprint in your .NET applications with the Telerik SpreadStream Processing Library, specialized for fast generation of huge (even 1M+ rows) XLSX and CSV documents.
SpreadStreamProcessing is part of the Telerik Document Processing Library suite which provides a complete set of APIs for manipulation of the most popular document formats for web, desktop, and mobile apps.
The fastest and easiest way to handle any document with optimal performance all while using your preferred .NET languages, with zero dependency on external software, a convenient API and support for a variety of formats.
SpreadStreamProcessing is a high-performance spreadsheet document library that enables you to create and export large XLSX and CSV spreadsheet documents using less computing resources and minimal memory. Enjoy high-performance spreadsheets that can handle massive amounts of data with ease.
The document model has no external dependencies on third-party software or UI. Users are able to process Microsoft Excel supported documents even without having Microsoft Excel, Microsoft Office or any other external library installed on the client or server.
Fast and Memory-Efficient Spreadsheet Creation
The library dynamically writes the document content into a specified stream for memory efficiency. Each time an exported object is disposed, the set values are written into the stream. This allows you to create large documents with excellent performance.
Workbooks and Worksheets
The SpreadStreamProcessing library exposes an API for creating worksheets in a workbook and adding rows and cells in the worksheets. The worksheet API features options for controlling the first visible cell, the selected cells, the gridlines visibility, the row and column header and zoom level.
Documentation on how to work with Workbooks and Worksheets in RadSpreadStreamProcessing
Append New Worksheets
Easily append new worksheets to a new or existing workbook with the high-performing SpreadStreamProcessing library. Utilize the API to get the appended worksheet names in order to avoid possible collisions in worksheet naming.
Rows and Columns
When creating rows and columns, there is convenient API for setting the width and height, as well as the visibility (hide or unhide) of individual or multiple (grouped) rows and columns.
Documentation on how to work with Rows and Columns in RadSpreadStreamProcessing
Grouping
The SpreadStreamProcessing Library supports grouping that allows placing rows and/or columns in sections which could be expanded and collapsed by users—quite useful when we want to hide the complexity of the detailed data and present just the summary of it, while still keeping it available for users to see. Use the SpreadStreamProcessing API to set the outline level of rows/columns when creating them.
Cells
Cells are the basic unit of data in worksheets - they are the intersection point of rows and columns. The SpreadStreamProcessing Library API provides multiple properties for defining the value and formatting options of cells. You can apply different settings for fill, border, font family and size, wrapping, as well as use various format strings, making it easy to work with different types of data.
In addition to setting the various cell properties when creating cells in a worksheet, the cell value can also be set to any formula supported by the OpenXML format. This will guarantee that when the document is open in any spreadsheet application complying with this format, the formulas will be appropriately evaluated.
A cell style is a predefined set of formatting options such as border options, fonts and format strings, that allows you to reuse it across the whole document during cell creation. In this way you can ensure consistency in cell appearance across your spreadsheets.
Freeze panes is useful feature allowing part of the worksheet to remain visible at all times when users are scrolling. The API allows freezing any number of rows and columns during their creation.