# What is a Workbook?

The following sections describe the workbook concept and its role in the SpreadProcessing document model.

## Overview

The workbook lays in the core of the SpreadProcessing document model. It is the primary document that you use to retrieve, manipulate, and store data. The workbook can also be viewed as a collection of worksheets, where a worksheet is in turn defined as a collection of cells organized in rows and columns. Each workbook contains at least one worksheet and often holds several sheets with related information.

The workbook is designed to hold together multiple worksheets to allow efficient organization and consolidation of data. Typically, a workbook has a single theme and contains worksheets with related data. For example, an annual budget workbook may comprise four worksheets that break down the budget in quarters.

You can create a workbook from scratch or import an existing document. To save a document, you can export its contents into a `csv`, `txt`, `xlsx`, `xls` file, or a `DataTable`. For more information, see the [Create, Open and Save Workbooks](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/working-with-workbooks/create-open-and-save-workbooks) article and the [Formats and Conversion](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/formats-and-conversion/general-information) section.

## What Is in It?

The workbook has several important characteristics:

| Characteristic            | Description                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Collection of Worksheets  | Each workbook maintains a collection of worksheets that allows you to add and delete worksheets, move worksheets within the workbook, or iterate through them. More information is available in [What is a Worksheet?](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/working-with-worksheets/what-is-worksheet). |
| Active Worksheet          | The workbook exposes a property that indicates the active worksheet. There is a single active worksheet in a workbook at a time. See [Activate a Worksheet](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/working-with-worksheets/activate-worksheet).                                                           |
| History                   | Each workbook maintains a history stack that records all changes to its content, enabling undo and redo operations. You can also group several actions into one undo step. For more information, see [Workbook History](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/history).                         |
| Names (Named Ranges)      | The `Workbook` class exposes a `Names` property of type `NameCollection` that allows you to create, update, and manage names. More about the feature is available in [Names](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/named-ranges).                                                               |
| Collection of Cell Styles | Each workbook contains a collection of cell styles — predefined sets of formatting options (borders, fonts, fills, number formats) that you can apply to a cell. For more information, see [Cell Styles](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/styling/cell-styles).                            |
| Theme                     | The workbook has a theme that lets you specify colors, fonts, and graphic effects for the whole document. For more information, see [Document Themes](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/styling/document-themes).                                                                           |
| Find and Replace          | The `Workbook` class offers an API to find and replace text and numbers across all worksheets. For more information, see [Find and Replace](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/find-and-replace).                                                                                            |
| Protection                | Lets you prevent users from modifying the structure of the workbook (adding, removing, renaming, or reordering sheets). See [Workbook Protection](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/features/protection/workbook).                                                                                   |
| `DocumentInfo`            | Enables you to set and obtain document metadata. Of type `DocumentInfo`, it exposes `Author`, `Title`, `Subject`, `Keywords`, and `Description` properties.                                                                                                                                                                                                          |

![Hierarchy diagram showing Workbook at the top with child collections and related types for Worksheets, Theme, Styles with CellStyle, and Names with ISpreadsheetName](https://www.telerik.com/document-processing-libraries/documentation/assets/834c6f36f9832c6c993f66708d54e2bb/radspreadsheet_model_working_with_workbooks_what_is_workbook_02.png)

\*This documentation is neither affiliated with, nor authorized, sponsored, or approved by, Microsoft® Corporation.

## See Also

* [Create, Open and Save Workbooks](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/working-with-workbooks/create-open-and-save-workbooks)
* [Formats and Conversion](https://www.telerik.com/document-processing-libraries/documentation/libraries/radspreadprocessing/formats-and-conversion/general-information)
