Passer au contenu du pied de page
OUTILS EXCEL

Comment écrire un fichier Excel en Python

Les fichiers Excel sont essentiels pour l'analyse, la production de rapports et le stockage des données dans de nombreux secteurs. Grâce à son vaste écosystème de modules open source, Python offre aux développeurs une multitude d'alternatives pour la production programmatique de fichiers Excel. Ces bibliothèques prennent en charge un large éventail de cas d'utilisation et de préférences, offrant des abstractions de haut niveau ainsi qu'un contrôle précis des documents Excel.

Cela permet aux développeurs d'automatiser facilement les processus liés à Excel, de produire des rapports dynamiques et d'exporter des données. Nous allons examiner comment IronXL constitue une alternative performante aux bibliothèques Python pour la création de fichiers Excel en C#.

Nous examinerons ses fonctionnalités, sa facilité d'utilisation et ses avantages en termes de performances, tout en présentant des exemples de code utiles pour mettre en évidence ses atouts. De plus, j'utilise Python pour écrire des fichiers Excel avec diverses bibliothèques open source.

Comment écrire un fichier Excel en Python

  1. Importez la bibliothèque requise.
  2. Préparez vos données ou fournissez-en.
  3. Créez un objet appelé Workbook ou Data Frame.
  4. Placez vos données à l'intérieur de l'objet.
  5. En utilisant la technique appropriée, enregistrez l'objet dans un fichier Excel.
  6. Apportez à votre discrétion toute autre mise en forme ou personnalisation.

Pandas

Réputé pour sa convivialité et sa polyvalence, Pandas est un package Python robuste pour la manipulation de données. Bien que Pandas soit principalement axé sur les DataFrames, il possède également des fonctionnalités de création de fichiers Excel.

Les développeurs peuvent facilement exporter les DataFrames au format Excel en utilisant l'API to_excel() . Ils peuvent même exporter vers des feuilles séparées à l'aide des DataFrames.

Le chemin d'accès au fichier objet ExcelWriter correspond à l'emplacement où la sortie est enregistrée. Les données tabulaires Python peuvent être facilement converties en fichiers Excel grâce aux options de Pandas pour la mise en forme des données, la visibilité des index et les noms de feuilles.

Comment écrire un fichier Excel en Python : Figure 1

xlwt

Cette bibliothèque vous permet d'écrire des données et de formater des informations dans des fichiers Excel au format .xls obsolète. Xlwt reste une solution viable dans les situations où la compatibilité avec les versions antérieures d'Excel ou les systèmes existants est requise, même s'il n'est plus activement développé.

Les développeurs peuvent utiliser les fonctionnalités de xlwt pour écrire des données dans des cellules, ajouter des feuilles de calcul et créer des objets Workbook. Xlwt offre des fonctionnalités rudimentaires pour la création de fichiers Excel en Python, bien que présentant des limitations par rapport aux outils plus récents.

Comment écrire un fichier Excel en Python : Figure 2

Tablib

Cette bibliothèque flexible peut gérer des données tabulaires dans de nombreux formats différents, y compris Excel. Tablib possède des fonctions permettant d'exporter des données au format Excel, même si son principal objectif est le traitement et la sérialisation des données.

Les méthodes fournies par Tablib permettent aux développeurs de construire facilement des objets Dataset, d'y ajouter des données et de les exporter vers des fichiers Excel. La polyvalence et la convivialité de Tablib en font un outil approprié pour les tâches Python impliquant la création de fichiers Excel simples.

Comment écrire un fichier Excel en Python : Figure 3

ezodf

Les feuilles de calcul et autres fichiers au format OpenDocument (ODF) peuvent être utilisés à l'aide de la bibliothèque ezodf . Bien qu'il n'ait pas été conçu spécifiquement pour les fichiers Excel, ezodf offre aux utilisateurs de Python la possibilité de créer et de travailler avec des documents tableurs.

Les développeurs peuvent ajouter des feuilles de calcul, écrire des données dans les cellules de la feuille Excel par programmation et produire des fichiers ODS (OpenDocument Spreadsheet) en utilisant les techniques d'ezodf. Même s'il n'est pas aussi répandu, ezodf offre la possibilité de créer des fichiers Excel lors de la manipulation de documents tableurs en Python.

Comment écrire un fichier Excel en Python : Figure 4

pyxlsb

Un package Python appelé pyxlsb est utilisé pour lire et écrire des fichiers Excel Binary Workbook (.xlsb). Il offre des fonctionnalités permettant d'ajouter des feuilles de calcul, d'écrire des données dans des cellules au format binaire Excel et de générer des objets Workbook.

Bien que la prise en charge des fichiers .xlsb ne soit pas aussi répandue que celle des fichiers .xlsx ou .xls, pyxlsb fournit des fonctionnalités Python pour la manipulation de fichiers Excel binaires, répondant ainsi à certains cas d'utilisation qui nécessitent la compatibilité avec le format binaire d'Excel.

Comment écrire un fichier Excel en Python : Figure 5

IronXL

IronXL est une bibliothèque C# riche en fonctionnalités pour la manipulation de fichiers Excel. IronXL, créé par Iron Software, offre une gamme complète de fonctionnalités pour la production, la mise en forme et le remplissage dynamiques de documents Excel. IronXL offre aux développeurs une expérience fluide pour les activités liées à Excel en simplifiant les interactions Excel en C# grâce à son API conviviale et à sa documentation complète.

Caractéristiques d'IronXL

  • Prise en charge étendue d'Excel : IronXL peut ouvrir et utiliser une large gamme de fichiers Excel dans de nombreux formats, notamment les fichiers 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 de fichiers Excel anciens ou modernes.
  • Haute vitesse : IronXL privilégie avant tout l'optimisation de la vitesse. Des algorithmes efficaces et des techniques de gestion de la mémoire sont utilisés pour garantir des interactions Excel fiables et rapides. Grâce à ses vitesses de traitement optimisées et à sa consommation de mémoire réduite, IronXL permet aux développeurs de gérer facilement les fichiers Excel volumineux.
  • API simple et facile à utiliser : grâce à son API simple et conviviale, IronXL convient aux développeurs de différents niveaux d'expérience. En proposant des méthodes simples pour lire les fichiers Excel, accéder aux classeurs Excel et obtenir des données à partir des cellules, IronXL réduit la courbe d'apprentissage pour les développeurs C# et simplifie le processus de création et de lecture d'un fichier existant.
  • Contrôle précis : Contrairement à d'autres bibliothèques de plus haut niveau, IronXL offre aux développeurs un contrôle précis sur les documents Excel, leur permettant d'interagir avec une feuille de calcul Excel jusqu'au niveau de la cellule. Comme les développeurs ont accès à des cellules, des lignes, des colonnes et des feuilles de calcul spécifiques, ils peuvent extraire et modifier les données exactement pour les adapter à leurs besoins.
  • Compatibilité multiplateforme : IronXL fonctionne avec une gamme de systèmes d'exploitation, notamment Windows, Linux et macOS, ce qui le rend adapté au développement C# multiplateforme. Qu'il s'agisse de développer des applications de bureau, web ou mobiles, les développeurs peuvent compter sur IronXL pour garantir des interactions Excel cohérentes dans différents contextes.

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

Installer IronXL

Utilisez ces instructions et la ligne de commande pour installer IronXL.

Dans Visual Studio, accédez à Outils -> Gestion des packages NuGet -> Interface du gestionnaire de packages.

Saisissez le code suivant dans l'onglet console du gestionnaire de paquets :

 pip install IronXL

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

Écrire des données Excel à l'aide d'IronXL en C

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

using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // 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 named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // 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 named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
Imports IronXL ' Include IronXL namespace

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new WorkBook object in .xlsx format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		' Add a new WorkSheet named "Sheet1" to the workbook
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Define sample data
		Dim data(,) As String = {
			{ "Name", "Age", "City" },
			{ "John ", "25", "New York" },
			{ "Smith", "30", "Los Angeles" },
			{ "Johnson", "35", "Chicago" }
		}

		' 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 named "Demo.xlsx"
		workBook.SaveAs("Demo.xlsx")

		' Close the workbook to free resources
		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 type de fichier Excel souhaité (dans ce cas, .xlsx). Ensuite, nous créons une nouvelle feuille de calcul et définissons des exemples de données dans un tableau bidimensionnel.

Nous remplissons ensuite la feuille de calcul avec les données d'exemple en accédant aux valeurs de différentes cellules et en les définissant à l'aide de boucles imbriquées.

Enfin, nous utilisons la fonction SaveAs() pour enregistrer le classeur sous le nom de fichier cible " Demo.xlsx " et nous fermons le classeur afin de libérer les ressources système. De même, nous pouvons créer plusieurs feuilles dans le fichier cible.

Vous trouverez ci-dessous le fichier Excel généré. Pour en savoir plus sur l'écriture de fichiers Excel, consultez cette page .

Comment écrire un fichier Excel en Python : Figure 6

Conclusion

Python offre une vaste collection de bibliothèques libres et open source permettant d'écrire des fichiers Excel par programmation, répondant ainsi à un large éventail de besoins et de goûts. Ces bibliothèques vous permettent d'exécuter vos tâches d'écriture Excel rapidement et efficacement, que vous travailliez avec des données tabulaires, produisiez des rapports ou exportiez des données vers Excel.

IronXL est une alternative performante à Microsoft Excel pour les développeurs C#, offrant une prise en charge complète d'Excel, une excellente vitesse et une interface fluide avec le framework .NET. IronXL simplifie la création de fichiers Excel en C# grâce à son API conviviale et à son contrôle précis des documents Excel.

Cela permet aux développeurs de créer plus facilement des rapports dynamiques, d'exporter des données et d'automatiser les opérations liées à Excel. Les développeurs C# peuvent compter sur IronXL pour optimiser les opérations liées à Excel et exploiter pleinement la puissance d'Excel dans leurs applications C#, qu'ils produisent des fichiers Excel pour des applications de bureau, en ligne ou mobiles.

IronXL est disponible dès son lancement pour $799 . Les utilisateurs peuvent également choisir de payer une cotisation annuelle pour bénéficier des mises à jour et de l'assistance produit. IronXL propose une protection pour la redistribution sans restriction moyennant un supplément. Consultez cette page pour en savoir plus sur le coût approximatif. Cliquez ici pour en savoir plus sur Iron Software.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite