Propriedade ServerDocument.Document
Obtém a matriz de bytes de um documento de memória que é carregado em ServerDocument.
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (em Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Sintaxe
'Declaração
Public ReadOnly Property Document As Byte()
public byte[] Document { get; }
Valor de propriedade
Tipo: array<System.Byte[]
A matriz de bytes de um documento de memória que é carregado em ServerDocument.
Exceções
Exceção | Condição |
---|---|
DocumentClosedException | O documento foi fechada. |
Comentários
Essa propriedade retorna uma matriz de bytes preenchida se ServerDocument foi criado usando o construtor de ServerDocument(array<Byte[], String) que tem um parâmetro de matriz de bytes, ou o construtor de ServerDocument(Stream, String) que tem um parâmetro de Stream .Caso contrário, essa propriedade retorna uma matriz vazia de bytes.
Usar essa propriedade permite que você faça alterações em um documento e para enviar para um cliente sem escrever o documento no disco.
Exemplos
O exemplo de código usa o construtor de ServerDocument(array<Byte[], String) para criar uma nova ServerDocument de uma matriz de bytes que contém uma pasta de trabalho do Excel com a extensão de nome de arquivo .xlsx.O exemplo usa a propriedade de Document para exibir o número de bytes no documento.
Este exemplo requer:
Um projeto de aplicativo do console ou qualquer outro projeto do Office não.
Referências para os seguintes conjuntos de módulos (assemblies):
Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se o projeto utiliza .NET Framework 4 ou .NET Framework 4.5).
ou
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se o projeto utiliza o .NET Framework 3.5).
Imports (Visual Basic) ou instruções de using (para C#) para Microsoft.VisualStudio.Tools.Applications e namespaces de Microsoft.VisualStudio.Tools.Applications.Runtime na parte superior do arquivo de código.
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();
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.