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 Id
paramè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, Worksheet
et 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);
}
}