A newer version of this page is available. Switch to the current version.

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


public void Open(
    string documentId,
    Func<byte[]> contentAccessorByBytes
Public Sub Open(
    documentId As String,
    contentAccessorByBytes As Func(Of Byte())


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.



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).

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) 
See Also