Partager via


Créer un document de feuilles de calcul en fournissant un nom de fichier

Cette rubrique montre comment utiliser les classes du Kit de développement logiciel (SDK) Open XML pour Office afin de créer par programmation un document de feuille de calcul.


Création d’un objet SpreadsheetDocument

Dans le Kit de développement logiciel (SDK) Open XML, la SpreadsheetDocument classe représente un package de documents Excel. Pour créer un document Excel, créez un instance de la classe et remplissez-le SpreadsheetDocument avec des parties. Au minimum, le document doit avoir un composant classeur qui sert de conteneur pour le document, et au moins un composant feuille de calcul. Le texte est représenté dans le package au format XML à l’aide d’un SpreadsheetML balisage.

Pour créer la classe instance, appelez la Create méthode . Plusieurs Create méthodes sont fournies, chacune avec une signature différente. L’exemple de code de cette rubrique utilise la Create méthode avec une signature qui nécessite deux paramètres. Le premier paramètre, package, prend une chaîne de chemin d’accès complet qui représente le document que vous souhaitez créer. Le deuxième paramètre, type, est membre de l’énumération SpreadsheetDocumentType . Ce paramètre représente le type de document. Par exemple, il existe différents membres de l’énumération pour les SpreadsheetDocumentType compléments, les modèles, les classeurs et les modèles et classeurs prenant en charge les macros.

Remarque

Sélectionnez le fichier approprié SpreadsheetDocumentType et assurez-vous que le fichier persistant a l’extension de nom de fichier correcte et correspondante. Si ne correspond pas à SpreadsheetDocumentType l’extension de nom de fichier, une erreur se produit lorsque vous ouvrez le fichier dans Excel.

L’exemple de code suivant appelle la Create méthode .

// Create a spreadsheet document by supplying the filepath.
// By default, AutoSave = true, Editable = true, and Type = xlsx.
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook))

Une fois que vous avez créé le package de document Excel, vous pouvez y ajouter des composants. Pour ajouter la partie classeur, vous appelez la AddWorkbookPart méthode de la SpreadsheetDocument classe .

// Add a WorkbookPart to the document.
WorkbookPart workbookPart = spreadsheetDocument.AddWorkbookPart();
workbookPart.Workbook = new Workbook();

Un composant classeur doit posséder au moins une feuille de calcul. Pour ajouter une feuille de calcul, créez un nouveau Sheet. Lorsque vous créez un Sheet, associez le Sheet à en Workbook transmettant les Idparamètres , SheetId et Name . Utilisez la GetIdOfPart méthode pour obtenir le Id du Sheet. Ajoutez ensuite la nouvelle feuille à la Sheet collection en appelant la Append méthode de la Sheets classe .

Pour créer la structure de document de base à l’aide du Kit de développement logiciel (SDK) Open XML, instanciez la Workbook classe, affectez-la à la WorkbookPart propriété du composant de document main, puis ajoutez des instances de WorksheetPart, Worksheetet Sheet. L'exemple de code suivant crée une feuille de calcul, l'associe, puis l'ajoute au classeur.

// Add a WorksheetPart to the WorkbookPart.
WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet(new SheetData());

// Add Sheets to the Workbook.
Sheets sheets = workbookPart.Workbook.AppendChild(new Sheets());

// Append a new worksheet and associate it with the workbook.
Sheet sheet = new Sheet() { Id = workbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "mySheet" };
sheets.Append(sheet);

Exemple de code

Voici un exemple de code complet en C# et Visual Basic.

static void CreateSpreadsheetWorkbook(string filepath)
{
    // Create a spreadsheet document by supplying the filepath.
    // By default, AutoSave = true, Editable = true, and Type = xlsx.
    using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook))
    {

        // Add a WorkbookPart to the document.
        WorkbookPart workbookPart = spreadsheetDocument.AddWorkbookPart();
        workbookPart.Workbook = new Workbook();

        // Add a WorksheetPart to the WorkbookPart.
        WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
        worksheetPart.Worksheet = new Worksheet(new SheetData());

        // Add Sheets to the Workbook.
        Sheets sheets = workbookPart.Workbook.AppendChild(new Sheets());

        // Append a new worksheet and associate it with the workbook.
        Sheet sheet = new Sheet() { Id = workbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "mySheet" };
        sheets.Append(sheet);
    }
}

Voir aussi