Compartilhar via


Como: Inserir dados em uma pasta de trabalho em um servidor

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

Versão do Microsoft Office

  • O Excel 2007

  • O Excel 2003

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Você pode inserir dados no cache de uma pasta de trabalho do Microsoft Office Excel que faz parte de um projeto de nível de documento Ferramentas do Visual Studio para o Office sem Executando o Excel.Isso torna possível inserir dados em pastas de trabalho de Excel que são armazenadas em um servidor.

O código para inserir os dados deve ser fora do assembly principal Ferramentas do Visual Studio para o Office projeto associado ao documento em que você está trabalhando com o, por exemplo em um console ou Aplicativo Windows Forms.

Para obter instruções passo a passo para usar o exemplo de código neste tópico, consulte Demonstra Passo a passo: Inserindo dados em uma pasta de trabalho em um servidor.

Exemplo

O exemplo de código a seguir primeiro cria uma instância de um dataset tipado chamado AdventureWorksLTDataSet e, em seguida, preenche a tabela de Product no dataset usando um adaptador de tabela.Avançar, o código usa a classe ServerDocument para acessar uma instância do mesmo dataset digitado que é armazenada em cache em uma pasta de trabalho do Excel e grava os dados do dataset local para o dataset em cache usando o método SerializeDataInstance.

Dim productDataSet As New AdventureWorksDataSet.AdventureWorksLTDataSet()
Dim productTableAdapter As _
    New AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter()

Dim workbookPath As String = System.Environment.GetFolderPath( _
    Environment.SpecialFolder.MyDocuments) & _
    "\AdventureWorksReport\bin\Debug\AdventureWorksReport.xlsx"
Dim serverDocument1 As ServerDocument = Nothing

Try
    productTableAdapter.Fill(productDataSet.Product)
    Console.WriteLine("The local dataset is filled.")

    serverDocument1 = New ServerDocument(workbookPath)
    Dim dataHostItem1 As CachedDataHostItem = _
        serverDocument1.CachedData.HostItems("AdventureWorksReport.Sheet1")
    Dim dataItem1 As CachedDataItem = dataHostItem1.CachedData("AdventureWorksLTDataSet")

    ' Initialize the worksheet dataset with the local dataset.
    If dataItem1 IsNot Nothing Then
        dataItem1.SerializeDataInstance(productDataSet)
        serverDocument1.Save()
        Console.WriteLine("The data is saved to the data cache.")
    Else
        Console.WriteLine("The data object is not found in the data cache.")
    End If
Catch ex As System.Data.SqlClient.SqlException
    Console.WriteLine(ex.Message)
Catch ex As System.IO.FileNotFoundException
    Console.WriteLine("The specified workbook does not exist.")
Finally
    If Not (serverDocument1 Is Nothing) Then
        serverDocument1.Close()
    End If
    Console.WriteLine(vbLf & vbLf & "Press Enter to close the application.")
    Console.ReadLine()
End Try
AdventureWorksDataSet.AdventureWorksLTDataSet productDataSet = 
    new AdventureWorksDataSet.AdventureWorksLTDataSet();
AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter productTableAdapter =
    new AdventureWorksDataSet.AdventureWorksLTDataSetTableAdapters.ProductTableAdapter();

string workbookPath = System.Environment.GetFolderPath(
    Environment.SpecialFolder.MyDocuments) +
    @"\AdventureWorksReport\bin\Debug\AdventureWorksReport.xlsx";
ServerDocument serverDocument1 = null;

try
{
    productTableAdapter.Fill(productDataSet.Product);
    Console.WriteLine("The local dataset is filled.");

    serverDocument1 = new ServerDocument(workbookPath);
    CachedDataHostItem dataHostItem1 =
        serverDocument1.CachedData.HostItems["AdventureWorksReport.Sheet1"];
    CachedDataItem dataItem1 = dataHostItem1.CachedData["adventureWorksLTDataSet"];

    // Initialize the worksheet dataset with the local dataset.
    if (dataItem1 != null)
    {
        dataItem1.SerializeDataInstance(productDataSet);
        serverDocument1.Save();
        Console.WriteLine("The data is saved to the data cache.");
        Console.ReadLine();
    }
    else
    {
        Console.WriteLine("The data object is not found in the data cache.");
    }
}
catch (System.Data.SqlClient.SqlException ex)
{
    Console.WriteLine(ex.Message);
}
catch (System.IO.FileNotFoundException)
{
    Console.WriteLine("The specified workbook does not exist.");
}
finally
{
    if (serverDocument1 != null)
    {
        serverDocument1.Close();
    }

    Console.WriteLine("\n\nPress Enter to close the application.");
    Console.ReadLine();
}

Compilando o código

O exemplo de código neste tópico é projetado para ser usado em um Aplicativo do Console que tenha Acessar a um projeto de biblioteca de classes que definem um dataset tipado e uma pasta de trabalho do Excel que faz parte de uma personalização de nível de documento para o Excel 2003 ou o Excel 2007.Para obter instruções passo a passo para usar o código, consulte Demonstra Passo a passo: Inserindo dados em uma pasta de trabalho em um servidor.

Consulte também

Tarefas

Demonstra Passo a passo: Inserindo dados em uma pasta de trabalho em um servidor

Como: Inserir dados em documentos sem gravação em disco

Como: Recuperar dados de uma pasta de trabalho em um servidor armazenados em cache

Como: Alterar de dados em uma pasta de trabalho em um servidor em cache

Conceitos

Acessando dados em documentos no servidor

DiffGrams