Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

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

Você pode recuperar dados do cache de uma pasta de trabalho do Excel de Microsoft Office que faz parte de um projeto de nível de documento do Office sem executar o Excel. Isso torna possível obter dados de pastas de trabalho do Excel são armazenadas em um servidor.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para Excel 2007 e Excel 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

O código para recuperar os dados deve ficar fora do assembly de projeto do Office que está associado ao documento que você está trabalhando, por exemplo, em um ASP.NET página da Web, um aplicativo de console ou um aplicativo Windows Forms.

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

Primeiro, o exemplo de código a seguir cria uma instância de um dataset tipado chamado AdventureWorksLTDataSet. Em seguida, o código usa a CachedData propriedade da ServerDocument classe para acessar uma instância preenchida o dataset tipado mesmo que já está em cache em uma pasta de trabalho do Excel e, em seguida, lê os dados do conjunto de dados em cache em um dataset local.


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

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

    if (dataItem1 != null)
    {
        Console.WriteLine("Before reading data from the cache dataset, the local dataset has " +
            "{0} rows.", productDataSet.Product.Rows.Count.ToString());

        // Read the cached data from the worksheet dataset into the local dataset.
        System.IO.StringReader schemaReader = new System.IO.StringReader(dataItem1.Schema);
        System.IO.StringReader xmlReader = new System.IO.StringReader(dataItem1.Xml);
        productDataSet.ReadXmlSchema(schemaReader);
        productDataSet.ReadXml(xmlReader);

        Console.WriteLine("After reading data from the cache dataset, the local dataset has " +
            "{0} rows.", productDataSet.Product.Rows.Count.ToString());
    }
    else
    {
        Console.WriteLine("The data object is not found in the data cache.");
    }
}
catch (System.IO.FileNotFoundException)
{
    Console.WriteLine("The specified workbook does not exist.");
}
catch (System.Xml.XmlException)
{
    Console.WriteLine("The data object has invalid XML information.");
}
finally
{
    if (serverDocument1 != null)
    {
        serverDocument1.Close();
    }

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


O exemplo de código neste tópico foi projetado para ser usado com os seguintes aplicativos:

  • Um aplicativo de console que tenha acesso a um projeto de biblioteca de classe que define um dataset tipado. O código é executado no aplicativo de console.

  • Uma planilha do Excel que faz parte de uma personalização em nível de documento do Excel. A pasta de trabalho tiver um dataset em cache chamado AdventureWorksLTDataSet que contém alguns dados.

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

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft