Skip to main content
.NET Framework 4.5.2+
  • The page you are viewing does not exist in the .NET Standard 2.0+ platform documentation. This link will take you to the parent topic of the current section.

ISpreadsheetValueStorage Interface

Declares members of the Spreadsheet editor’s value storage.

Namespace: DevExpress.ExpressApp.Office.Win

Assembly: DevExpress.ExpressApp.Office.Win.v22.2.dll


public interface ISpreadsheetValueStorage


A Spreadsheet editor’s value storage allows you to implement custom logic executed when saving or loading a Spreadsheet document. Follow the steps below to create a custom value storage that specifies a file storage format.


We recommend you to use the SpreadsheetPropertyEditor.DocumentFormat property to specify a document storage format (see How to: Customize the Spreadsheet Editor). The example below is shown for demonstration purposes.

  1. Create a class that implements the ISpreadsheetValueStorage interface as shown below in the WinForms module project (MySolution.Module.Win). If your solution does not contain this project, add the Controller to the WinForms application project (MySolution.Win).

    using DevExpress.ExpressApp.Office.Win;
    using DevExpress.Spreadsheet;
    using DevExpress.XtraSpreadsheet;
    // ...
    public class OpenXmlSpreadsheetValueStorage : ISpreadsheetValueStorage {
        public object GetValue(SpreadsheetControl control) {
            return control.SaveDocument(DocumentFormat.OpenXml);
        public void SetValue(SpreadsheetControl control, object propertyValue) {
            byte[] byteArray = propertyValue as byte[];
            if(byteArray != null) {
                control.LoadDocument(byteArray, DocumentFormat.OpenXml);
  2. Create a View Controller and access the SpreadsheetPropertyEditor as described in the Ways to Access UI Elements and Their Controls topic. Set the editor’s ValueStorage property to an instance of CustomSpreadsheetValueStorage as shown below:

    using DevExpress.ExpressApp;
    using DevExpress.ExpressApp.Office.Win;
    // ...
    public class CustomSpreadsheetValueStorageController : ObjectViewController<DetailView, Document> {
        protected override void OnActivated() {
            SpreadsheetPropertyEditor spreadsheetPropertyEditor = View.FindItem("Data") as SpreadsheetPropertyEditor;
            if (spreadsheetPropertyEditor != null) {
                spreadsheetPropertyEditor.ValueStorage = new OpenXmlSpreadsheetValueStorage();
See Also