Condividi tramite


Costruttore ServerDocument (array<Byte , String)

Inizializza una nuova istanza della classe ServerDocument utilizzando una matrice di byte che rappresenta il documento da caricare e l'estensione di file del documento.

Spazio dei nomi:  Microsoft.VisualStudio.Tools.Applications
Assembly:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Sintassi

'Dichiarazione
Public Sub New ( _
    bytes As Byte(), _
    fileType As String _
)
public ServerDocument(
    byte[] bytes,
    string fileType
)

Parametri

  • bytes
    Tipo: array<System.Byte[]
    Matrice di byte che rappresenta il documento da caricare.
  • fileType
    Tipo: System.String
    Estensione di file del documento archiviato nel parametro bytes, preceduta da un punto (.). Ad esempio, ".xlsx" o ".docx".

Eccezioni

Eccezione Condizione
ArgumentNullException

Il parametro bytes è nullriferimento null (Nothing in Visual Basic) oppure vuoto.

In alternativa

Il parametro fileType è nullriferimento null (Nothing in Visual Basic), vuoto, oppure composto unicamente da spazi vuoti.

UnknownCustomizationFileException

L'estensione di file specificata dal parametro fileType non è supportata dal Runtime di Visual Studio Tools per Office.

DocumentCustomizedWithPreviousRuntimeException

Il file specificato da documentPath dispone di una personalizzazione non creata con Visual Studio 2010 tools per Office runtime o Visual Studio Tools per Microsoft Office System (versione runtime 3,0).

Note

Utilizzare questo costruttore per accedere ai dati memorizzati nella cache o alle informazioni sul manifesto di distribuzione in un documento già in memoria.Quando si utilizza questo costruttore, il documento viene aperto con accesso in lettura/scrittura.

Il parametro fileType viene utilizzato soltanto per determinare il tipo di documento archiviato nella matrice di byte.Viene eseguito il mapping del valore di fileType a uno dei tipi di file supportati per le personalizzazioni a livello di documento.Non è stato eseguito alcun tentativo per aprire il file.È inoltre possibile passare un nome file completo (ad esempio, "Workbook1.xlsx"). Procedendo in questo modo, tuttavia, viene utilizzata soltanto l'estensione di file.Per ulteriori informazioni sui tipi di file supportati, vedere Architettura delle personalizzazioni a livello di documento.

Per accedere alla matrice di byte del documento dopo la chiamata al costruttore, utilizzare la proprietà Document.

Esempi

Nell'esempio di codice riportato di seguito viene utilizzato il costruttore ServerDocument(array<Byte[], String) per creare un nuovo oggetto ServerDocument da una matrice di byte contenente una cartella di lavoro di Excel con estensione di file xlsx.Viene quindi utilizzata la proprietà Document per visualizzare il numero di byte del documento.

L'esempio presenta i seguenti requisiti:

  • Progetto di applicazione console o qualche altro progetto non-Office.

  • Riferimenti ai seguenti assembly:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se il progetto è destinato a .NET Framework 4 o .NET Framework 4.5).

      oppure

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se il progetto è destinato a .NET Framework 3.5).

  • Istruzioni Imports (per Visual Basic) o using (per C#) per gli spazi dei nomi Microsoft.VisualStudio.Tools.Applications e Microsoft.VisualStudio.Tools.Applications.Runtime all'inizio del file di codice

Private Sub CreateServerDocumentFromByteArray(ByVal documentPath As String)
    Dim runtimeVersion As Integer = 0
    Dim serverDocument1 As ServerDocument = Nothing
    Dim stream As System.IO.FileStream = Nothing

    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            ' Read the file into a byte array.
            stream = New System.IO.FileStream(documentPath, System.IO.FileMode.Open, _
                System.IO.FileAccess.Read)
            Dim buffer(Fix(stream.Length)) As Byte
            stream.Read(buffer, 0, Fix(buffer.Length))

            ' Display the number of bytes in the document.
            serverDocument1 = New ServerDocument(buffer, "*.xlsx")
            MessageBox.Show("The Document property contains " & _
                serverDocument1.Document.Length.ToString() & " bytes.")
        End If

    Catch ex As System.IO.FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As UnknownCustomizationFileException
        System.Windows.Forms.MessageBox.Show("The specified document has a file " & _
            "extension that is not supported by Visual Studio Tools for Office.")
    Finally
        If Not (serverDocument1 Is Nothing) Then
            serverDocument1.Close()
        End If
        If Not (stream Is Nothing) Then
            stream.Close()
        End If
    End Try
End Sub
private void CreateServerDocumentFromByteArray(string documentPath)
{
    int runtimeVersion = 0;
    ServerDocument serverDocument1 = null;
    System.IO.FileStream stream = null;

    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
        if (runtimeVersion == 3)
        {
            // Read the file into a byte array.
            stream = new System.IO.FileStream(
                documentPath, System.IO.FileMode.Open,
                System.IO.FileAccess.Read);
            byte[] buffer = new byte[(int)stream.Length];
            stream.Read(buffer, 0, (int)buffer.Length);

            // Display the number of bytes in the document.
            serverDocument1 = new ServerDocument(buffer,
                "*.xlsx");
            MessageBox.Show("The Document property contains " +
                serverDocument1.Document.Length.ToString() +
                " bytes.");
        }
    }
    catch (System.IO.FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (UnknownCustomizationFileException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document has a file " +
            "extension that is not supported by Visual Studio Tools for Office.");
    }
    finally
    {
        if (serverDocument1 != null)
            serverDocument1.Close();
        if (stream != null)
            stream.Close();
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

ServerDocument Classe

Overload ServerDocument

Spazio dei nomi Microsoft.VisualStudio.Tools.Applications