ASPxSpreadsheet.Open(String, Func<Byte[]>) Method
Opens a document specified by an array of bytes.
Namespace: DevExpress.Web.ASPxSpreadsheet
Assembly: DevExpress.Web.ASPxSpreadsheet.v18.2.dll
Declaration
Parameters
Name | Type | Description |
---|---|---|
documentId | String | A string value that uniquely identifies the document to open (the document’s DocumentId). |
contentAccessorByBytes | Func<Byte[]> | A method delegate to obtain a byte array from which to open the document. |
Remarks
Note
This overload of the ASPxSpreadsheet.Open method determines a document’s format automatically, but this process reduces the method’s performance. You can accelerate the method’s performance by specifying a document’s format manually using the overload with the DocumentFormat parameter.
This method tries to find the specified document in a list of already opened documents maintained by the DocumentManager. If the document is found, its instance is opened in the Spreadhseet. If the specified document has not been found in the opened documents, a delegate method specified by the contentAccessorByBytes parameter is called. It allows you to manually obtain a byte array from which to open a document (for instance, to load a document from a database).
C#
private void CustomDocumentOpening() {
var uniqueDocumentId = GetUniqueDocumentId();
// Open a document from a byte array
byte[] documentContentAsByteArray = GetByteArrayFromCustomDocumentStorage();
using (var stream = GetStreamFromCustomDocumentStorage()) {
ASPxSpreadsheet1.Open(uniqueDocumentId, () => documentContentAsByteArray);
}
}
private string GetUniqueDocumentId() {
throw new NotImplementedException();
// Obtain a previously saved DocumentId (for instance, from a database, if you have previously saved it there):
// return GetDocumentIdFromDatabase();
// or
// Create a new unique identifier:
// return Guid.NewGuid().ToString();
}
private byte[] GetByteArrayFromCustomDocumentStorage() {
throw new NotImplementedException();
// Provide your custom logic to obtain a document (for instance, from a database)
}