Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment exporter un tableau HTML vers Excel en C#

Ce guide explique comment exporter des données de tableau HTML vers des fichiers Excel à l'aide d'IronXL et de HTML Agility Pack en C#, offrant un contrôle de niveau entreprise sur l'analyse, la mise en forme et l'intégrité des données pour les applications critiques en matière de conformité, sans dépendance à Office.

L'extraction des données d'un tableau HTML et leur conversion en feuille Excel est une exigence courante dans les applications d'entreprise, que ce soit pour la migration de données, la génération de rapports ou les pages Web nécessitant une analyse plus approfondie. Cet article fournit des étapes simples pour exporter le contenu d'une datatable de HTML vers le format Excel. Bien que certaines bibliothèques offrent des méthodes intégrées pour convertir des tables HTML, celles-ci comportent souvent des limitations en termes de format de fichier ou de fonctionnalités supportées.

Lorsque vous devez exporter un tableau HTML vers Excel en C#, il est crucial de comprendre la relation entre les structures des feuilles de calcul Excel et les tableaux HTML. Ce guide montre comment transférer efficacement les données des tableaux HTML vers le format Excel, en créant des sorties de feuilles de calcul Excel professionnelles qui préservent l'intégrité des données.

IronXL offre une méthode plus flexible pour convertir le contenu d'un tableau HTML en feuille de calcul Excel, en combinant ses puissantes capacités de manipulation Excel avec l'analyse HTML pour exporter les données d'un tableau HTML en C#. Que vous ayez besoin de télécharger des données à partir d'une URL ou de traiter du contenu provenant d'une base de données, cette solution gère différents scénarios d'entrée tout en respectant les normes de sécurité des entreprises .

Pourquoi choisir IronXL pour exporter des données de tableau HTML ?

Pourquoi IronXL est-il adapté aux environnements d'entreprise ?

IronXL excelle dans la création et la manipulation de fichiers Excel sans nécessiter l'installation de Microsoft Office, ce qui en fait un choix idéal pour les environnements serveur et les applications multiplateformes. La bibliothèque prend en charge le déploiement sur Azure , AWS Lambda Functions et les conteneurs Docker , assurant ainsi la compatibilité avec les architectures cloud modernes. Associé à HTML Agility Pack, un robuste analyseur de fichiers et de contenus HTML, IronXL devient une solution polyvalente pour convertir n'importe quelle structure de tableau HTML en données de feuille Excel. Cette approche fonctionne parfaitement avec les applications .NET et peut gérer efficacement de grands ensembles de données grâce à des fonctionnalités de performance optimisées .

Pour les environnements d'entreprise exigeant une conformité stricte, IronXL fournit une documentation de sécurité complète et prend en charge les classeurs protégés par mot de passe et les feuilles de calcul cryptées . La bibliothèque fonctionne également de manière transparente sur les serveurs Linux et les systèmes macOS , offrant une véritable compatibilité multiplateforme essentielle pour les infrastructures d'entreprise diversifiées.

Comment IronXL se compare-t-il aux autres bibliothèques Excel ?

Contrairement à des bibliothèques telles que XlsIO de la bibliothèque Excel de Syncfusion, qui propose une fonction ImportHtmlTable limitée à des formats HTML et des structures de tableau spécifiques, l'approche IronXL offre aux développeurs un contrôle total sur le processus d'analyse et de conversion. Cette flexibilité permet aux développeurs de gérer des scénarios complexes tels que les tables imbriquées , la mise en forme personnalisée des données et l'extraction sélective de colonnes, que les méthodes intégrées rigides ne peuvent pas prendre en charge. Les paramètres par défaut conviennent à la plupart des cas d'utilisation, mais vous pouvez personnaliser chaque détail, y compris les polices et les tailles des cellules , les motifs et les couleurs d'arrière-plan , ainsi que l'alignement des bordures .

La documentation API complète d'IronXL offre aux développeurs un contrôle précis sur chaque aspect de la manipulation d'Excel, de la mise en forme conditionnelle à la création de graphiques . Ce niveau de contrôle est particulièrement précieux lorsqu'il s'agit de données d'entreprise nécessitant un formatage spécifique pour des raisons de conformité réglementaire ou de normes d'entreprise.

Quelles sont les fonctionnalités avancées offertes par IronXL ?

De plus, IronXL offre des fonctionnalités Excel complètes, notamment la prise en charge des formules , la mise en forme des cellules , la gestion de plusieurs feuilles de calcul et divers formats d'exportation (fichiers XLSX, XLS, JSON et CSV). La bibliothèque prend en charge des fonctions mathématiques telles que Somme, Moyenne, Minimum et Maximum, permettant des calculs complexes directement dans les fichiers Excel générés. Vous pouvez même créer des graphiques , exporter au format PDF et gérer les données des champs cachés , ce qui en fait une solution complète pour les besoins d'automatisation d'Excel allant au-delà de la simple conversion de tableaux HTML. Que vous travailliez avec un objet DataTable ou un fichier tableur , IronXL gère la conversion de manière transparente.

Pour répondre aux besoins de reporting des entreprises, IronXL prend en charge les plages nommées pour une meilleure lisibilité des formules, le gel des volets pour une meilleure navigation dans les données et la fonctionnalité de groupement/dégroupement pour organiser les structures de données complexes. La bibliothèque offre également des fonctionnalités de redimensionnement automatique pour garantir un affichage correct de tout le contenu.

Comment installer les bibliothèques requises ?

Quels packages NuGet sont requis ?

Tout d'abord, installez à la fois IronXL et HTML Agility Pack via le Gestionnaire de packages NuGet. IronXL propose un essai gratuit pour tester toutes les fonctionnalités et fournit une documentation détaillée sur les licences pour les déploiements en entreprise :

Install-Package IronXL.Excel
Install-Package HtmlAgilityPack
Install-Package IronXL.Excel
Install-Package HtmlAgilityPack
SHELL

Pour les environnements d'entreprise, vous pouvez configurer la clé de licence dans Web.config ou l'appliquer par programmation à l'aide de l' API de gestion des licences . La bibliothèque prend en charge différents scénarios de déploiement, notamment les applications web ASP.NET et les applications côté serveur Blazor .

Quels espaces de noms dois-je importer ?

Ces packages NuGet vous permettent de créer , charger et enregistrer des documents Excel par programmation. Ensuite, importez les instructions nécessaires dans votre fichier de code C# :

using IronXL;
using HtmlAgilityPack;
using System;
using System.Linq;
using IronXL;
using HtmlAgilityPack;
using System;
using System.Linq;
$vbLabelText   $csharpLabel

Ces bibliothèques fonctionnent parfaitement ensemble : HTML Agility Pack gère l'analyse HTML tandis qu'IronXL gère la création et la manipulation des fichiers Excel . Cet exemple illustre une approche simple pour convertir des tableaux HTML au format XLSX . Pour les développeurs VB.NET , des fonctionnalités similaires sont disponibles moyennant quelques ajustements mineurs de syntaxe.

Comment analyser les données de table HTML avec HTML Agility Pack ?

Quelle est la méthode de base pour extraire le contenu d'un tableau HTML ?

HTML Agility Pack fournit un moyen simple de naviguer dans les documents HTML à l'aide d'expressions XPath. Le code suivant montre comment extraire des données d'un tableau HTML et les préparer pour l'exportation à l'aide des fonctionnalités d'importation de données d'IronXL :

// Sample HTML table with product data
string htmlContent = @"
<table>
    <thead>
        <tr>
            <th>Product</th>
            <th>Price</th>
            <th>Stock</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Laptop</td>
            <td>$999</td>
            <td>15</td>
        </tr>
        <tr>
            <td>Mouse</td>
            <td>$25</td>
            <td>50</td>
        </tr>
        <tr>
            <td>Keyboard</td>
            <td>$75</td>
            <td>30</td>
        </tr>
    </tbody>
</table>";
// Load HTML document for parsing
var doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
// Select the HTML table element using XPath
var table = doc.DocumentNode.SelectSingleNode("//table");
// Sample HTML table with product data
string htmlContent = @"
<table>
    <thead>
        <tr>
            <th>Product</th>
            <th>Price</th>
            <th>Stock</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Laptop</td>
            <td>$999</td>
            <td>15</td>
        </tr>
        <tr>
            <td>Mouse</td>
            <td>$25</td>
            <td>50</td>
        </tr>
        <tr>
            <td>Keyboard</td>
            <td>$75</td>
            <td>30</td>
        </tr>
    </tbody>
</table>";
// Load HTML document for parsing
var doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
// Select the HTML table element using XPath
var table = doc.DocumentNode.SelectSingleNode("//table");
$vbLabelText   $csharpLabel

Cette méthode d'analyse fonctionne bien avec diverses sources HTML, qu'il s'agisse de données extraites du Web, d'exportations de bases de données ou de contenu généré dynamiquement. Les données extraites peuvent être traitées ultérieurement à l'aide des fonctionnalités de manipulation de données d'IronXL avant leur exportation.

Comment fonctionne la sélection XPath pour les éléments de tableau ?

Ce code charge le contenu HTML dans un objet HtmlDocument et utilise XPath pour interroger et sélectionner l'élément de tableau. La méthode SelectSingleNode renvoie le premier tableau trouvé dans le code HTML, ce qui facilite la sélection de tableaux spécifiques lorsqu'il y en a plusieurs. Chaque ligne du tableau est traitée pour extraire la valeur de la cellule à convertir, de la même manière que la sélection par plage d'IronXL fonctionne pour les données Excel.

Pour les scénarios plus complexes impliquant des cellules fusionnées ou des lignes et colonnes répétées , une logique d'analyse supplémentaire peut être nécessaire pour maintenir la structure appropriée lors de la conversion.

Comment exporter des données analysées vers Excel en utilisant IronXL ?

Quel code permet de convertir les données d'un tableau HTML au format Excel ?

Avec IronXL, nous pouvons facilement convertir les données de table HTML analysées en une feuille de calcul Excel professionnelle avec un formatage approprié. Le code suivant montre comment exporter les données avec des paramètres personnalisés de taille et de famille de police :

// Create a new Excel workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("Exported Data");
// Extract and write headers
var headers = table.SelectNodes(".//thead/tr/th");
if (headers != null)
{
    for (int col = 0; col < headers.Count; col++)
    {
        workSheet.SetCellValue(0, col, headers[col].InnerText.Trim());
        // Apply header formatting
        var headerCell = workSheet.GetCellAt(0, col);
        headerCell.Style.Font.Bold = true;
        headerCell.Style.BackgroundColor = "#4CAF50";
    }
}
// Extract and write data rows
var rows = table.SelectNodes(".//tbody/tr");
if (rows != null)
{
    for (int row = 0; row < rows.Count; row++)
    {
        var cells = rows[row].SelectNodes("td");
        if (cells != null)
        {
            for (int col = 0; col < cells.Count; col++)
            {
                string cellValue = cells[col].InnerText.Trim();
                workSheet.SetCellValue(row + 1, col, cellValue);
            }
        }
    }
}
// Auto-fit columns for better readability
for (int col = 0; col < headers?.Count; col++)
{
    workSheet.AutoSizeColumn(col);
}
// Save the Excel file
workBook.SaveAs("ExportedTable.xlsx");
// Create a new Excel workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("Exported Data");
// Extract and write headers
var headers = table.SelectNodes(".//thead/tr/th");
if (headers != null)
{
    for (int col = 0; col < headers.Count; col++)
    {
        workSheet.SetCellValue(0, col, headers[col].InnerText.Trim());
        // Apply header formatting
        var headerCell = workSheet.GetCellAt(0, col);
        headerCell.Style.Font.Bold = true;
        headerCell.Style.BackgroundColor = "#4CAF50";
    }
}
// Extract and write data rows
var rows = table.SelectNodes(".//tbody/tr");
if (rows != null)
{
    for (int row = 0; row < rows.Count; row++)
    {
        var cells = rows[row].SelectNodes("td");
        if (cells != null)
        {
            for (int col = 0; col < cells.Count; col++)
            {
                string cellValue = cells[col].InnerText.Trim();
                workSheet.SetCellValue(row + 1, col, cellValue);
            }
        }
    }
}
// Auto-fit columns for better readability
for (int col = 0; col < headers?.Count; col++)
{
    workSheet.AutoSizeColumn(col);
}
// Save the Excel file
workBook.SaveAs("ExportedTable.xlsx");
$vbLabelText   $csharpLabel

Ce code peut être enrichi d'options de mise en forme supplémentaires telles que des formats de nombres , des commentaires de cellules ou des hyperliens pour créer des résultats Excel plus sophistiqués. Pour les grands ensembles de données, envisagez d'utiliser les fonctionnalités d'optimisation des performances d'IronXL pour gérer les limitations de taille des fichiers .

Comment fonctionne la structure de l'API Excel ?

Ce code illustre l'API intuitive d'IronXL pour la manipulation de fichiers Excel en C# . Tout d'abord, il crée un nouveau WorkBook et WorkSheet. Il parcourt ensuite les en-têtes de tableau HTML analysés, les plaçant dans la première ligne tout en appliquant une mise en forme en gras et une couleur de fond verte. Les lignes de données de la table HTML sont traitées de la même manière, avec le contenu textuel de chaque cellule extrait et placé dans la cellule Excel correspondante. La fonction AutoSizeColumn garantit que tout le contenu est visible, et enfin, le classeur est enregistré au format XLSX . Vous pouvez facilement télécharger le fichier généré ou le stocker dans une base de données pour une consultation ultérieure.

Pour les scénarios d'entreprise nécessitant des pistes d'audit, vous pouvez ajouter des métadonnées au classeur telles que les informations sur l'auteur, la date de création et les propriétés du document. La bibliothèque prend également en charge la configuration d'impression pour la génération de rapports prêts à imprimer.

Comment exporter une table HTML vers un fichier Excel en C#: Figure 1 - Sortie de données de table analysées par IronXL

À quoi ressemble le résultat final?

Vous pouvez ici comparer le tableau HTML original avec le résultat ci-dessus, ce qui démontre comment IronXL préserve l'intégrité des données tout en offrant des options de mise en forme professionnelles :

Comment exporter une table HTML vers un fichier Excel en C#: Figure 2 - Données Excel analysées vs le tableau HTML original

Comment gérer les scénarios d'exportation courants ?

Comment exporter plusieurs tableaux HTML ?

Lorsque vous travaillez avec plusieurs tables, utilisez simplement SelectNodes ("//table") pour obtenir toutes les tables et les parcourir, en créant des feuilles de calcul distinctes pour chacune. Cet exemple montre comment gérer des scénarios complexes avec de grands ensembles de données à l'aide de techniques de gestion de feuilles de calcul :

var tables = doc.DocumentNode.SelectNodes("//table");
foreach (var tbl in tables)
{
    // Create new worksheet for each table
    WorkSheet ws = workBook.CreateWorkSheet($"Table_{tables.IndexOf(tbl) + 1}");
    // Process table as shown above
}
var tables = doc.DocumentNode.SelectNodes("//table");
foreach (var tbl in tables)
{
    // Create new worksheet for each table
    WorkSheet ws = workBook.CreateWorkSheet($"Table_{tables.IndexOf(tbl) + 1}");
    // Process table as shown above
}
$vbLabelText   $csharpLabel

Pour des scénarios plus avancés, vous pouvez combiner plusieurs plages Excel , implémenter une validation des données ou ajouter des règles de mise en forme conditionnelle pour mettre en évidence les modèles de données importants.

Quelle gestion des erreurs dois-je implémenter ?

Pour la gestion des erreurs, encapsulez la logique d'analyse dans des blocs try-catch pour gérer gracieusement le HTML malformé. IronXL gère automatiquement la détection du type de données, convertissant les chaînes numériques en nombres le cas échéant grâce à ses capacités de conversion intégrées . Pour des scénarios plus complexes impliquant du contenu dynamique, les développeurs combinent souvent cette approche avec des outils comme Selenium WebDriver pour les tables rendues en JavaScript.

Lors du traitement de fichiers CSV ou de données TSV , IronXL propose des méthodes spécialisées pour gérer les formats basés sur des délimiteurs. La bibliothèque prend également en charge la conversion entre différents formats de feuilles de calcul , facilitant ainsi l'exportation vers les formats requis par différents systèmes.

Comment gérer les exigences particulières en matière de données ?

Lorsque vous traitez le contenu d'une URL ou d'une requête de base de données en vue d'une analyse plus approfondie, vous pouvez être amené à traiter des détails supplémentaires tels que des valeurs de champs cachés ou des exigences de formatage particulières. Le comportement par défaut convient parfaitement aux tableaux standard, mais vous pouvez personnaliser la taille de la police, la famille de polices et d'autres propriétés de style pour chaque colonne ou chaque ligne de tableau spécifique selon vos besoins à l'aide de l'API de style d'IronXL .

Pour les données nécessitant un tri ou un élagage , IronXL propose des méthodes intégrées pour nettoyer et organiser les données avant l'exportation finale. Vous pouvez également ajouter des lignes et des colonnes de manière dynamique en fonction de vos exigences d'analyse, ou insérer de nouvelles lignes et colonnes au besoin pendant le traitement.

Les applications d'entreprise nécessitent souvent l'exportation vers différents formats , comme la conversion au format HTML pour l'affichage Web ou l'intégration avec des bases de données SQL via des conversions DataTable . IronXL prend en charge tous ces scénarios grâce à des méthodes dédiées et une documentation complète .

Quels sont les principaux avantages de cette solution ?

La combinaison d'IronXL et de HTML Agility Pack fournit une solution robuste et flexible pour exporter des tables HTML vers Excel en C#. Cet article a démontré des étapes simples pour convertir du contenu HTML au format XLSX, exporter des informations datables et créer des fichiers de feuilles de calcul professionnels. Cette approche offre plus de contrôle que les méthodes intégrées rigides, permettant aux développeurs de gérer des structures HTML complexes tout en tirant parti des fonctionnalités Excel complètes d'IronXL.

Pour les déploiements en entreprise, IronXL fournit une documentation de sécurité détaillée , des options de licence flexibles et une prise en charge des extensions et mises à niveau de licence. Le journal des modifications de la bibliothèque témoigne d'améliorations continues en matière de performances et de fonctionnalités, garantissant ainsi sa viabilité à long terme pour les projets d'entreprise.

Que vous créiez des extracteurs de données Web, migriez des données existantes à partir d'une base de données, automatisiez la génération de rapports avec des graphiques ou effectuiez des analyses de données sur de grands ensembles de données, cette solution s'adapte aux besoins des entreprises. Les exemples de code fournis montrent comment traiter différentes sources d'entrée, du HTML statique au contenu dynamique récupéré via une URL. Vous pouvez facilement exporter les résultats pour les télécharger ou les traiter ultérieurement dans vos applications .NET MAUI ou vos solutions de bureau traditionnelles.

Pour les organisations nécessitant des fonctionnalités Excel avancées, IronXL prend en charge les fonctions d'agrégation , les formules Excel en C# et même la mise à jour directe des enregistrements de base de données depuis Excel . La capacité de la bibliothèque à protéger les fichiers Excel garantit la sécurité des données tout au long du processus d'exportation.

Prêt à transformer vos données HTML en fichiers Excel professionnels ? Commencez votre essai gratuit d'IronXL dès aujourd'hui et découvrez la flexibilité de la manipulation Excel programmée sans dépendances Office. Pour les déploiements en production, explorez nos options de licence à partir de $799. Consultez nos tutoriels complets pour en savoir plus sur les techniques avancées d'automatisation Excel.

Questions Fréquemment Posées

Quel est l'avantage principal d'utiliser IronXL pour convertir des tableaux HTML en Excel ?

IronXL vous permet de convertir facilement des données de tableau HTML en feuilles de calcul Excel avec une approche flexible qui ne nécessite pas Microsoft Office, permettant une compatibilité multiplateforme.

IronXL peut-il gérer des structures de tableaux HTML complexes lors de la conversion en Excel ?

Oui, IronXL est conçu pour gérer des structures de tableaux HTML complexes, garantissant que les données sont exportées avec précision vers Excel tout en maintenant la mise en page et le format d'origine.

Est-il possible d'automatiser la conversion des tableaux HTML en Excel à l'aide d'IronXL en C# ?

Absolument, IronXL prend en charge l'automatisation, permettant aux développeurs de convertir des tableaux HTML en feuilles Excel de manière programmatique dans des applications C#, rationalisant les flux de travail de traitement des données.

La conversion des tableaux HTML en Excel avec IronXL prend-elle en charge différents formats de fichiers ?

IronXL prend en charge divers formats de fichiers Excel, y compris XLSX, XLS et CSV, offrant une flexibilité dans le choix du format de sortie qui convient le mieux aux besoins de votre application.

Ai-je besoin de Microsoft Office pour utiliser IronXL pour la conversion de HTML en Excel ?

Non, IronXL ne nécessite pas l'installation de Microsoft Office, fournissant une solution légère pour convertir des tableaux HTML en Excel sur différentes plateformes.

Quels sont les cas d'utilisation typiques de la conversion des tableaux HTML en Excel à l'aide d'IronXL ?

Les cas d'utilisation courants incluent la migration de données, la génération de rapports et l'analyse ultérieure des données de pages Web, où l'exportation du contenu de tableau HTML vers Excel est nécessaire pour les applications commerciales.

Comment IronXL se compare-t-il à d'autres bibliothèques pour la conversion de HTML en Excel ?

Bien que certaines bibliothèques puissent offrir des méthodes intégrées pour la conversion de HTML en Excel, IronXL se distingue en fournissant des fonctionnalités étendues sans les limitations souvent présentes dans d'autres solutions, telles que le support limité des formats de fichiers.

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