Partager via


Procédure : enregistrer sur le serveur pour préparer l'accès par programme

Dernière modification : mercredi 14 avril 2010

S’applique à : SharePoint Server 2010

Cet exemple montre comment enregistrer un classeur Excel sur le serveur pour pouvoir y accéder par programmation. Les étapes à effectuer sont les suivantes :

  1. Créez un classeur avec des plages nommées.

  2. Enregistrez le classeur à un emplacement de bibliothèques SharePoint approuvé.

    Notes

    Il est supposé que vous avez déjà créé une bibliothèque de documents SharePoint et que vous l’avez configurée en tant qu’emplacement approuvé. Pour plus d’informations, voir Procédure : Approuver un emplacement.

  3. Spécifiez des valeurs par programmation pour la feuille de calcul, la plage nommée et la valeur de la cellule à l’aide de la méthode Excel Web ServicesSetCellA1. Les valeurs sont passées en tant qu’arguments, à savoir args [1] et args [2] :

    status = xlServices.SetCellA1(sessionId, String.Empty, args[1], args[2]);
    
    status = xlServices.SetCellA1(sessionId, String.Empty, args(1), args(2))
    

Vous pouvez spécifier les valeurs d’args [1] et d’args [2] à l’aide d’un formulaire Web ou à partir de la ligne de commande :

GetSnapshot.exe http://MyServer002/MyTrustedDocumentLibrary/TestMyParam.xlsx MyParam28 > MySnapshot.xlsx 

Dans cet exemple, args [1] a la valeur MyParam, args [2] a la valeur 28 et GetSnapshot.exe est le nom de l’application que vous créez. Pour obtenir un exemple de programme, voir Procédure : obtenir un classeur entier ou une capture instantanée.

Pour créer une plage nommée

  1. Démarrez Excel.

  2. Renommez Feuille1 en MyParamSheet.

  3. Dans la cellule B2, tapez 20.

  4. Dans la cellule B3, tapez =2+B2.

  5. Mettez la cellule B3 en gras.

  6. Définissez la cellule B2 en plage nommée :

    1. Dans le Ruban, cliquez sur l’onglet Formules, puis cliquez sur la cellule B2 pour la sélectionner.

    2. Dans le groupe Noms définis, cliquez sur Définir un nom.

    3. Dans la boîte de dialogue Nouveau nom, dans la zone de texte Nom, tapez MyParam.

  7. Enregistrez le classeur à l’emplacement de votre choix sur le lecteur local. Nommez le classeur TestMyParam.xlsx.

Pour enregistrer dans une bibliothèque SharePoint

  1. Dans le menu Fichier, cliquez sur Enregistrer et envoyer, puis sur Enregistrer dans SharePoint.

  2. Dans la boîte de dialogue Enregistrer dans un site SharePoint, cliquez sur Options de publication.

  3. Dans la boîte de dialogue Options de publication, sous l’onglet Afficher, vérifiez que Classeur entier est sélectionné.

  4. Cliquez sur Paramètres.

  5. Cliquez sur Ajouter.

  6. Dans la liste Ajouter des paramètres, vous devez voir MyParam. Activez la case à cocher MyParam.

  7. Cliquez sur OK. Vous devez maintenant voir MyParam dans la liste Paramètres.

  8. Cliquez sur OK.

  9. Dans la boîte de dialogue Enregistrer dans SharePoint, cliquez sur Enregistrer sous.

  10. Dans la boîte de dialogue Enregistrer sous, désactivez la case à cocher Ouvrir dans Excel dans le navigateur.

  11. Dans la zone Nom de fichier, tapez le chemin d’accès à la bibliothèque de documents SharePoint approuvée où vous voulez stocker ce classeur (par exemple, http://MonServeur002/MyDocumentLibrary/TestParam.xlsx).

  12. Cliquez sur Enregistrer.

Pour spécifier des valeurs par programmation

  1. La signature pour la méthode SetCellA1 dans Excel Web Services est la suivante :

    public void SetCellA1 (
    string sessionId,
    string sheetName,
    string rangeName,
    Object cellValue,
    Out Status[] status
    )
    
    Public Sub SetCellA1(ByVal sessionId As String,
                  ByVal sheetName As String, 
                 ByVal rangeName As String, 
                 ByVal cellValue As Object, 
                 Out ByVal status() As Status)
    End Sub
    

    Définissez les valeurs pour la feuille de calcul, la plage nommée et la cellule pour la méthode SetCellA1 comme suit :

    // Set a value into a cell.
    status = xlSrv.SetCellA1(sessionId, String.Empty, args[1], args[2]);
    
  2. Dans le code précédent :

    • args [1] est le nom de la plage nommée. Dans cet exemple, il s’agit de MyParam.

    • args [2] est la valeur que vous voulez définir dans la cellule. La cellule où la valeur sera définie est la plage nommée dans args [1] appelée MyParam.

  3. Si vous utilisez une ligne de commande, vous pouvez passer les arguments comme suit :

    GetSnapshot.exe http://MyServer002/MyTrustedDocumentLibrary/TestMyParam.xlsx MyParam 28 > MySnapshot.xlsx

  4. Si vous générez un instantané du classeur, vous voyez ceci :

    • La cellule B2 (avec la plage nommée MyParam) a maintenant une valeur attribuée par le programme, qui est 28.

    • La cellule B3 a une nouvelle valeur calculée de 30.

    • La cellule B3 ne montre pas le formule d'origine, qui était « =2+B2 ».

    • La cellule B3 conserve son format de police, qui est en gras.

Notes

Pour plus d’informations sur les instantanés, voir Procédure : obtenir un classeur entier ou une capture instantanée. Pour plus d’informations sur la méthode SetCellA1, voir la documentation de référence d’Excel Web Services. L’espace de noms du service Web est Microsoft.Office.Excel.Server.WebServices.

Voir aussi

Tâches

Procédure : Enregistrer sur le serveur à partir du client Excel

Procédure pas à pas : développement d'une application personnalisée à l'aide des services Web Excel

Référence

Microsoft.Office.Excel.Server.WebServices

Concepts

Accès à l'API SOAP

Appels SOAP de retour de boucle et liaison directe

Excel Services Alerts