Maison >développement back-end >C++ >Comment lire les données d'un fichier Excel en utilisant C# ?

Comment lire les données d'un fichier Excel en utilisant C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-11 16:26:45853parcourir

How to Read Data from an Excel File Using C#?

Lire les données d'un fichier Excel en C#

Question :

Comment lire les données d'un fichier Excel en C# ? J'ai essayé d'ouvrir le fichier et de le copier dans le presse-papiers, mais je ne sais pas comment procéder.

Réponse :

En utilisant C# pour lire les données d'un fichier Excel, vous pouvez envisager les méthodes suivantes :

1. Créer un objet Excel :

<code class="language-csharp">Excel.ApplicationClass ExcelObj = new Excel.ApplicationClass();
ExcelObj.Visible = false;</code>

2. Ouvrir le classeur et la feuille de calcul :

<code class="language-csharp">Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(s.Text, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);
Excel.Worksheet worksheet = (Excel.Worksheet)theWorkbook.Worksheets.get_Item(count);</code>

3. Accédez aux cellules en tant que plages nommées :

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

4. Obtenez la valeur de la cellule :

<code class="language-csharp">range.Text // 返回用户可见文本
range.Value2 // 返回Excel中存储的实际值</code>

5. Itérer les cellules :

<code class="language-csharp">Excel.Range range1 = sheet.get_Range("A1:A5", Missing.Value);
if (range1 != null)
{
    foreach (Excel.Range r in range1)
    {
        string user = r.Text;
        string value = r.Value2;
    }
}</code>

Nettoyer :

N'oubliez pas de fermer et de libérer les objets Excel dans l'ordre inverse de leur création afin qu'ils soient éliminés correctement.

Exemple :

<code class="language-csharp">using System;
using ExcelTools = Ms.Office;
using Excel = Microsoft.Office.Interop.Excel;

public class ExcelReader
{
    public static void ReadWorkbook(string fileName)
    {
        Excel.Application excel = null;
        Excel.Workbook wkb = null;

        try
        {
            excel = new Excel.Application();
            wkb = ExcelTools.OfficeUtil.OpenBook(excel, fileName);

            Excel.Worksheet sheet = wkb.Sheets["Data"] as Excel.Worksheet;
            Excel.Range range = sheet.get_Range("A1", Missing.Value);

            string A1 = String.Empty;
            if (range != null)
                A1 = range.Text.ToString();

            Console.WriteLine("A1单元格的值: {0}", A1);
        }
        catch (Exception ex)
        {
            // 在此处处理错误
        }
        finally
        {
            ExcelTools.OfficeUtil.ReleaseRCM(wkb);
            ExcelTools.OfficeUtil.ReleaseRCM(excel);
        }
    }
}</code>

Notes supplémentaires :

  • Définissez la visibilité sur false pour empêcher Excel de s'afficher.
  • Envisagez d'utiliser le fournisseur OleDb comme méthode alternative pour accéder aux données Excel.
  • Pour rechercher une valeur spécifique, utilisez Excel.Cells.Find.

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!

Déclaration:
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