Maison > développement back-end > C++ > Comment lire efficacement les données de fichiers Excel en utilisant C# ?

Comment lire efficacement les données de fichiers Excel en utilisant C# ?

Susan Sarandon
Libérer: 2025-01-11 16:37:41
original
902 Les gens l'ont consulté

How to Efficiently Read Data from Excel Files Using C#?

Maîtriser l'extraction de données Excel avec C#

La gestion efficace des fichiers Excel en C# nécessite une compréhension claire des plages nommées. Au lieu de vous fier à l'indexation de tableaux, tirez parti de la méthode get_Range() pour une sélection précise des cellules.

Par exemple, pour accéder à la cellule A1 :

<code class="language-csharp">Excel.Worksheet sheet = workbook.Sheets["Sheet1"] as Excel.Worksheet;
Excel.Range range = sheet.get_Range("A1", Missing.Value);</code>
Copier après la connexion

range représente désormais la cellule A1. Accédez à son contenu en utilisant :

  • range.Text : affiche le texte formaté de la cellule.
  • range.Value2 : Récupère la valeur de la cellule sous-jacente (non formatée).

Itération à travers une plage de cellules :

<code class="language-csharp">Excel.Range range = sheet.get_Range("A1:A5", Missing.Value);

if (range != null)
{
    foreach (Excel.Range r in range)
    {
        string userText = r.Text;
        object cellValue = r.Value2; //Note: object type for flexibility
    }
}</code>
Copier après la connexion

Il est essentiel d'utiliser Value2 au lieu de Value pour éviter les limitations potentielles de C#.

Nettoyage essentiel

Empêchez les fuites de mémoire en libérant les objets COM après utilisation :

<code class="language-csharp">if (wkb != null)
    ExcelTools.OfficeUtil.ReleaseRCM(wkb);

if (excel != null)
    ExcelTools.OfficeUtil.ReleaseRCM(excel);</code>
Copier après la connexion

ReleaseRCM est une fonction personnalisée pour libérer des ressources COM.

Extrait de code illustratif

<code class="language-csharp">using ExcelTools = Ms.Office; // Assuming a custom namespace
using Excel = Microsoft.Office.Interop.Excel;

...

Excel.Workbook wkb = ExcelTools.OfficeUtil.OpenBook(excel, file);

...

Excel.Worksheet sheet = wkb.Sheets["Data"] as Excel.Worksheet;

Excel.Range range = sheet.get_Range("A1", Missing.Value);

string cellA1Text = range.Text.ToString();

...</code>
Copier après la connexion

Considérations clés

  • Masquez l'application Excel pendant le traitement en définissant la visibilité des objets sur false.
  • Explorez OleDb comme alternative viable pour l'accès aux données Excel.
  • Cet exemple utilise Type.Missing de C# pour les paramètres facultatifs.

Cette approche améliorée garantit une gestion efficace et fiable des données Excel au sein de vos applications C#.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal