ISpreadsheetValueStorage Interface
Declares members of the Spreadsheet editor’s value storage.
Namespace: DevExpress.ExpressApp.Office.Win
Assembly: DevExpress.ExpressApp.Office.Win.v24.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.
Create a class that implements the
ISpreadsheetValueStorage
interface as shown below in 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); } } }
Create a View Controller and access the
SpreadsheetPropertyEditor
as described in the Ways to Access UI Elements and Their Controls topic. Set the editor’sValueStorage
property to an instance ofCustomSpreadsheetValueStorage
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(); } } }