IWebSpreadsheetValueStorage Interface
Declares members of he Spreadsheet editor’s value storage.
Namespace: DevExpress.ExpressApp.Office.Web
Assembly: DevExpress.ExpressApp.Office.Web.v25.1.dll
NuGet Package: DevExpress.ExpressApp.Office.Web
Declaration
Remarks
A Spreadsheet editor’s value storage allows you to implement custom logic executed when saving or loading a RichText document. Follow the steps below to create a custom value storage that specifies a file storage format.
Tip
We recommend you to use the ASPxSpreadsheetPropertyEditor.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 ASP.NET Web Forms Module project, create a class that implements the
IWebSpreadsheetValueStorageinterface as shown below:using DevExpress.ExpressApp.Office.Web; using DevExpress.Spreadsheet; using DevExpress.Web.ASPxSpreadsheet; using System.IO; // ... public class WebOpenXmlSpreadsheetValueStorage : IWebSpreadsheetValueStorage { public object GetValue(ASPxSpreadsheet control) { using (MemoryStream memoryStream = new MemoryStream()) { control.SaveCopy(memoryStream, DocumentFormat.OpenXml); using (StreamReader streamReader = new StreamReader(memoryStream)) { memoryStream.Seek(0, SeekOrigin.Begin); return streamReader.ReadToEnd(); } } } public void SetValue(ASPxSpreadsheet control, object propertyValue, string documentID) { control.Open(documentID, DocumentFormat.OpenXml, () => (byte[])propertyValue); } }Create a View Controller and access the
ASPxSpreadsheetPropertyEditoras described in the Ways to Access UI Elements and Their Controls topic. Set the editor’sValueStorageproperty to an instance ofCustomWebSpreadsheetValueStorageas shown below.using DevExpress.ExpressApp; using DevExpress.ExpressApp.Office.Web; // ... public class WebSpreadsheetStorageController : ObjectViewController<DetailView, Document> { protected override void OnActivated() { base.OnActivated(); ASPxSpreadsheetPropertyEditor spreadsheetPropertyEditor = View.FindItem("Data") as ASPxSpreadsheetPropertyEditor; if (spreadsheetPropertyEditor != null) { spreadsheetPropertyEditor.ValueStorage = new WebOpenXmlSpreadsheetValueStorage(); } } }