ISpreadsheetValueStorage Interface
Declares members of the Spreadsheet editor’s value storage.
Namespace: DevExpress.ExpressApp.Office.Win
Assembly: DevExpress.ExpressApp.Office.Win.v21.2.dll
NuGet Package: DevExpress.ExpressApp.Office.Win
Declaration
Remarks
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.
Tip
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.
In the WinForms Module project, create a class that implements the ISpreadsheetValueStorage interface as shown below:
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); } } }
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() { base.OnActivated(); SpreadsheetPropertyEditor spreadsheetPropertyEditor = View.FindItem("Data") as SpreadsheetPropertyEditor; if (spreadsheetPropertyEditor != null) { spreadsheetPropertyEditor.ValueStorage = new OpenXmlSpreadsheetValueStorage(); } } }