Exporter (0) Imprimer
Développer tout
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Comment : récupérer des données mises en cache d'un classeur sur un serveur

Vous pouvez récupérer des données dans le cache d'un classeur Microsoft Office Excel 2003 faisant partie d'un projet Microsoft Visual Studio 2005 Tools pour Microsoft Office System sans exécuter Excel. Cela permet ainsi d'obtenir des données contenues dans des classeurs Excel stockés sur un serveur.

Le code permettant de récupérer les données doit être situé en dehors de l'assembly du projet Visual Studio Tools pour Office associé au document sur lequel vous travaillez, par exemple dans une page Web ASP.NET ou un projet Windows Forms.

Pour récupérer des données dans un document sur un serveur

  1. Créez un projet Windows Forms avec un contrôle DataGrid nommé DisplayExpenses.

  2. Créez une instance de ServerDocument et transmettez au constructeur le chemin d'accès complet du classeur Excel contenant les données mises en cache.

    string expenseDoc = @"C:\ExpenseDocuments\Expenses0105.xls";
    ServerDocument sd1 = null;
    
    try
    {
        sd1 = new ServerDocument(expenseDoc);
    
    
  3. Créez un CachedDataHostItem et un CachedDataItem pour accéder à l'objet de données mis en cache, créez deux objets StringReader pour contenir le schéma et les données XML du CachedDataItem, puis remplissez le groupe de données. Pour plus d'informations sur les classes CachedDataHostItem et CachedDataItem, consultez Vue d'ensemble de l'accès côté serveur aux données dans les documents.

        CachedDataHostItem dataHostItem1 = 
            sd1.CachedData.HostItems["DataNamespace.DataWorksheet"];
    
        CachedDataItem dataItem1 = dataHostItem1.CachedData["DataCache"];
    
        System.IO.StringReader schemaReader = new System.IO.StringReader(dataItem1.Schema);
        System.IO.StringReader xmlReader = new System.IO.StringReader(dataItem1.Xml);
    
        ExpenseData.ReadXmlSchema(schemaReader);
        ExpenseData.ReadXml(xmlReader);
    }
    
    
  4. Fermez le ServerDocument.

    finally
    {
        if (sd1 != null)
        {
            sd1.Close();
        }
    }
    
    
  5. Affichez les données dans le DataGrid.

    DisplayExpenses.DataSource = ExpenseData;
    
    

Compilation du code

Cet exemple nécessite :

  • Un classeur Excel nommé Expenses0105.xls, situé dans le dossier C:\ExpenseDocuments. Ce classeur doit avoir une feuille de calcul nommée DataWorksheet dans un espace de noms nommé DataNamespace.

  • Un DataSet nommé DataCache et mis en cache dans la feuille de calcul DataWorksheet. Pour plus d'informations, consultez Comment : mettre en cache des données pour une utilisation hors connexion ou sur un serveur.

  • Un DataSet nommé ExpenseData que vous utilisez en tant que source de données pour le DataGrid.

  • Référence à l'assembly Microsoft.VisualStudio.Tools.Applications.Runtime et instruction Imports (en Visual Basic) ou using (en C#) pour l'espace de noms Microsoft.VisualStudio.Tools.Applications.Runtime en haut de votre fichier de code.

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.