Passer au contenu du pied de page
OUTILS EXCEL

Comment utiliser Créer PowerPoint à partir d'un modèle en C#

Les présentations PowerPoint restent une norme pour communiquer efficacement des informations dans les domaines commercial, éducatif et autres. PowerPoint est un outil flexible qui peut améliorer vos efforts de communication, que vous enseigniez une classe, donniez des mises à jour de projet à votre équipe ou fassiez une présentation à de potentiels investisseurs. Cependant, créer des présentations à partir de zéro peut prendre beaucoup de temps, et l'efficacité et l'uniformité de la conception ne sont pas toujours celles recherchées. C'est là que les modèles PowerPoint s'avèrent utiles, en fournissant des diapositives prêtes à l'emploi avec des thèmes et des mises en page qui peuvent être modifiés pour répondre à vos besoins.

Dans cet article, nous verrons comment utiliser C# pour créer une présentation PowerPoint à partir d'un modèle. Nous pouvons accélérer la procédure et permettre aux clients de créer facilement des présentations soignées en utilisant la[bibliothèque d'interopérabilité Microsoft PowerPoint](https://learn.microsoft.com/en-us/previous-versions/office/office-12/ff764034(v=office.12) .

Comment utiliser la fonction " Créer une présentation PowerPoint à partir d'un modèle " en C# ?

  1. Créez un nouveau projet C#.
  2. Lancez le programme PowerPoint dans une nouvelle instance.
  3. Insérez des diapositives à partir d'un modèle dans une présentation nouvellement créée.
  4. Créez un nouveau fichier et enregistrez la présentation.
  5. Fermez le programme PowerPoint et terminez la présentation.

Compréhension de PowerPoint à partir d'un modèle

Commençons par passer en revue les concepts de base de la programmation des présentations PowerPoint avant de nous pencher sur le code. Grâce à la bibliothèque PowerPoint Interop de Microsoft, les développeurs peuvent utiliser des langages .NET comme C# pour communiquer avec les applications PowerPoint. Ce package offre de nombreuses fonctionnalités, notamment la possibilité de créer des diapositives, d'ajouter du texte, d'insérer des images et d'appliquer une mise en forme.

Créer un Nouveau Projet Visual Studio

Pour démarrer un nouveau projet Visual Studio , suivez les instructions ci-dessous.

Lancez l'application Visual Studio. Avant d'utiliser Visual Studio, assurez-vous de l'avoir installé sur votre ordinateur.

Sélectionnez Fichier, puis Nouveau, et enfin Projet.

![Comment utiliser Créer une présentation PowerPoint à partir d'un modèle en C# : Figure 1 - Créer un nouveau projet dans Visual Studio. Choisissez le langage C# et un projet d'application console ou d'application console (.NET Core).

Choisissez votre langage de programmation préféré (C#, par exemple) dans la partie gauche de la boîte " Créer un nouveau projet ". Ensuite, dans la liste des modèles de projet disponibles, choisissez le modèle " Application console " ou " Application console (.NET Core) ". Pour donner un nom à votre projet, veuillez remplir le champ "Nom".

! Comment utiliser Créer une présentation PowerPoint à partir d'un modèle en C# : Figure 2 - Configurer le projet d'application console : Ajouter un nom et un emplacement de projet.

Décidez où le projet sera stocké. Pour commencer à travailler sur un nouveau projet d'application console, cliquez sur " Suivant ". Sélectionnez ensuite le framework .NET approprié et cliquez sur " Créer ".

! Comment utiliser la fonction Créer une présentation PowerPoint à partir d'un modèle en C# : Figure 3 - Sélectionnez le framework .NET approprié et cliquez sur " Créer ".

Dans un projet C# nouvellement créé, ajoutez une référence à la bibliothèque d'interopérabilité Microsoft PowerPoint. Il est désormais plus facile de développer des présentations et d'interagir avec elles grâce à cette bibliothèque, qui permet la communication entre votre code C# et l'application PowerPoint.

Créer une présentation PowerPoint à partir d'un modèle en utilisant C

La première étape consiste à charger le modèle PowerPoint qui servira de base à notre nouvelle présentation. Les modèles proposent généralement des mises en page, des thèmes et des espaces réservés au contenu prédéfinis. La fonction de la bibliothèque Microsoft.Office.PowerPoint.Interop nous permet d'ouvrir le fichier modèle et d'en récupérer le contenu depuis notre code source C#.

using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core; // Make sure to include this for MsoTriState

class Program
{
    static void Main(string[] args)
    {
        // Initialize PowerPoint application
        PowerPoint.Application powerpointApp = new PowerPoint.Application();

        // Open an existing PowerPoint file
        PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
            @"C:\Path\To\Existing\output.pptx", 
            MsoTriState.msoFalse, 
            MsoTriState.msoFalse, 
            MsoTriState.msoTrue);

        // Insert slides from a template file into the presentation
        presentation.Slides.InsertFromFile(
            @"C:\Path\To\External\demo.pptx", 
            presentation.Slides.Count + 1, 
            1, 
            0);

        // Save the updated presentation
        presentation.Save();

        // Close the presentation and quit PowerPoint application
        presentation.Close();
        powerpointApp.Quit();
    }
}
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core; // Make sure to include this for MsoTriState

class Program
{
    static void Main(string[] args)
    {
        // Initialize PowerPoint application
        PowerPoint.Application powerpointApp = new PowerPoint.Application();

        // Open an existing PowerPoint file
        PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
            @"C:\Path\To\Existing\output.pptx", 
            MsoTriState.msoFalse, 
            MsoTriState.msoFalse, 
            MsoTriState.msoTrue);

        // Insert slides from a template file into the presentation
        presentation.Slides.InsertFromFile(
            @"C:\Path\To\External\demo.pptx", 
            presentation.Slides.Count + 1, 
            1, 
            0);

        // Save the updated presentation
        presentation.Save();

        // Close the presentation and quit PowerPoint application
        presentation.Close();
        powerpointApp.Quit();
    }
}
Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
Imports Microsoft.Office.Core ' Make sure to include this for MsoTriState

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize PowerPoint application
		Dim powerpointApp As New PowerPoint.Application()

		' Open an existing PowerPoint file
		Dim presentation As PowerPoint.Presentation = powerpointApp.Presentations.Open("C:\Path\To\Existing\output.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoTrue)

		' Insert slides from a template file into the presentation
		presentation.Slides.InsertFromFile("C:\Path\To\External\demo.pptx", presentation.Slides.Count + 1, 1, 0)

		' Save the updated presentation
		presentation.Save()

		' Close the presentation and quit PowerPoint application
		presentation.Close()
		powerpointApp.Quit()
	End Sub
End Class
$vbLabelText   $csharpLabel

Après avoir chargé le modèle, nous créons une nouvelle présentation en utilisant sa mise en page. Nous utilisons le fichier de présentation PowerPoint ( output.pptx ), qui nous aide à créer un objet de présentation PowerPoint qui servira de canevas pour notre contenu. La mise en page et le thème du modèle seront repris dans cette présentation, lui conférant ainsi un style visuel unifié.

Comment créer une présentation PowerPoint à partir d'un modèle en C# : Figure 4 - Deuxième fichier PowerPoint (demo.pptx) contenant les diapositives à inclure dans votre présentation

La méthode presentation.Slides.InsertFromFile() prend quatre paramètres : FileName , Index , SlideStart , SlideEnd .

  • Le chemin d'accès au fichier PowerPoint contenant les diapositives que vous souhaitez inclure dans votre présentation est spécifié comme premier paramètre ( demo.pptx ).
  • Le paramètre suivant est la position dans la présentation de destination où vous souhaitez insérer les diapositives.
  • Les deux autres paramètres sont facultatifs. Ces paramètres nous permettent de spécifier les indices des diapositives de début et de fin. Si nous devons extraire des diapositives comprises dans une plage spécifique, nous pouvons utiliser ces paramètres.

Vous pouvez utiliser la méthode presentation.Save() pour enregistrer la présentation après l'insertion des diapositives à l'aide de la méthode InsertFromFile() . Après avoir enregistré, fermez le programme PowerPoint à l'aide de la méthode Close() , puis quittez la présentation avec la méthode Quit() . Vous pouvez ainsi améliorer le contenu et la flexibilité de votre présentation PowerPoint en ajoutant dynamiquement des diapositives provenant de fichiers externes.

Sortie

Comment créer une présentation PowerPoint à partir d'un modèle en C# : Figure 5 - Sortie : output.pptx

IronXL

Présentation d' IronXL , une bibliothèque C# riche en fonctionnalités pour travailler avec des fichiers Excel. IronXL d'Iron Software offre une large gamme d'outils pour la création, le remplissage et la mise en forme dynamiques de documents Excel. Grâce à son API conviviale et à sa documentation exhaustive, IronXL simplifie les interactions avec Excel en C# et offre aux développeurs une expérience fluide pour les tâches liées à Excel.

Caractéristiques d'IronXL

  • Prise en charge étendue d'Excel : IronXL est capable d'ouvrir et de manipuler un grand nombre de fichiers Excel dans différents formats, tels que les formats CSV, XLS et XLSX. Grâce aux puissantes fonctionnalités d'analyse d'IronXL, les développeurs peuvent extraire efficacement des données d'un fichier Excel existant, qu'il s'agisse d'anciens ou de nouveaux fichiers Excel.
  • Haute vitesse : IronXL privilégie l'optimisation des performances. Les interactions avec Excel sont fiables et rapides grâce à l'utilisation d'algorithmes efficaces et de stratégies de gestion de la mémoire. IronXL offre une réduction de la consommation de mémoire et des vitesses de traitement optimisées, permettant ainsi aux développeurs de gérer facilement d'énormes fichiers Excel.
  • API simple et conviviale : L'API conviviale d'IronXL la rend adaptée aux développeurs de tous niveaux de compétence. IronXL réduit la courbe d'apprentissage pour les développeurs C# et accélère le processus de création et de lecture d'un fichier existant en fournissant des moyens simples de lire des fichiers Excel, d'accéder aux classeurs Excel et d'obtenir des données à partir de cellules.

Pour en savoir plus sur la documentation d'IronXL, consultez cette page .

Installer IronXL

Pour installer IronXL, suivez les instructions et la commande indiquées dans les étapes suivantes :

Dans Visual Studio, accédez à Outils -> Gestionnaire de packages NuGet -> Console du gestionnaire de packages.

Saisissez la commande suivante dans l'onglet console du gestionnaire de paquets :

Install-Package IronXL.Excel

Le package IronXL est désormais utilisable après avoir été téléchargé et installé sur le projet actuel.

Créer un fichier Excel avec IronXL

Examinons maintenant un exemple de code concret qui montre comment écrire des données dans un document Excel en C# à l'aide d'IronXL. Nous allons vous montrer comment ouvrir un nouveau classeur Excel, remplir une feuille de calcul, puis enregistrer les informations dans un fichier :

using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Add a new WorkSheet to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "Superman", "35", "Metropolis" },
            { "Batman", "34", "Gotham City" },
            { "Flash", "30", "Central City" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook
        workBook.Close();
    }
}
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Add a new WorkSheet to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "Superman", "35", "Metropolis" },
            { "Batman", "34", "Gotham City" },
            { "Flash", "30", "Central City" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook
        workBook.Close();
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new WorkBook object
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Add a new WorkSheet to the workbook
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Define sample data
		Dim data(,) As String = {
			{ "Name", "Age", "City" },
			{ "Superman", "35", "Metropolis" },
			{ "Batman", "34", "Gotham City" },
			{ "Flash", "30", "Central City" }
		}

		' Populate the worksheet with data
		For row As Integer = 0 To data.GetLength(0) - 1
			For col As Integer = 0 To data.GetLength(1) - 1
				workSheet.SetCellValue(row, col, data(row, col))
			Next col
		Next row

		' Save the workbook to a .xlsx file
		workBook.SaveAs("Demo.xlsx")

		' Close the workbook
		workBook.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

Dans cet exemple de code, nous créons d'abord un nouvel objet WorkBook à l'aide de la fonction Create() d'IronXL, en spécifiant le format de fichier Excel nécessaire. L'étape suivante consiste à créer une nouvelle feuille de calcul dans le classeur et à définir des exemples de données dans un tableau bidimensionnel. Ensuite, afin de remplir la feuille de calcul avec les données d'exemple, nous utilisons des boucles imbriquées pour accéder aux valeurs des différentes cellules et les définir. Afin de libérer des ressources système, nous fermons le classeur après avoir utilisé la méthode SaveAs() pour l'enregistrer dans un fichier nommé " Demo.xlsx ". De même, nous sommes en mesure de générer plusieurs feuilles pour le fichier cible.

Le fichier Excel généré en sortie est présenté ci-dessous. Pour en savoir plus sur l'écriture de fichiers Excel, consultez la page d'exemples de code.

Comment créer une présentation PowerPoint à partir d'un modèle en C# : Figure 6 - Fichier Excel généré

Conclusion

En conclusion, l'utilisation de C# pour créer des présentations PowerPoint à partir de modèles permet aux utilisateurs d'améliorer la cohérence de la conception, d'accélérer le flux de travail et de produire un contenu percutant. Les développeurs peuvent gagner du temps et de l'énergie tout en garantissant des résultats professionnels en automatisant le processus de création et en utilisant les fonctionnalités de la bibliothèque d'interopérabilité Microsoft PowerPoint. L'apprentissage de cette approche vous aidera, en tant que présentateur, professionnel ou enseignant, à améliorer vos compétences en matière de présentation et à captiver votre public grâce à des diapositives attrayantes.

Pour les développeurs C#, IronXL est une alternative puissante à Microsoft Excel, offrant une prise en charge complète d'Excel, d'excellentes performances et une interaction transparente avec le framework .NET. L'API conviviale d'IronXL et son contrôle précis des documents Excel simplifient l'écriture de code Excel en C#. Cela facilite le processus permettant aux développeurs d'automatiser les tâches liées à Excel, d'exporter des données et de générer des rapports dynamiques. Qu'il s'agisse de créer des fichiers Excel pour des applications de bureau, web ou mobiles, les développeurs C# peuvent compter sur IronXL pour rationaliser les tâches liées à Excel et exploiter pleinement le potentiel d'Excel dans leurs programmes C#.

IronXL coûte $799 lors de son lancement. De plus, les utilisateurs ont la possibilité de payer une cotisation annuelle pour obtenir une assistance produit et des mises à jour. Moyennant un supplément, IronXL offre une protection contre la redistribution sans restriction. Pour en savoir plus sur le coût approximatif, veuillez consulter cette page de licence . Pour en savoir plus sur Iron Software, cliquez sur ce lien .

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite