Heim >Backend-Entwicklung >C++ >Wie lese ich Daten aus einer Excel-Datei mit C#?

Wie lese ich Daten aus einer Excel-Datei mit C#?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-11 16:26:45920Durchsuche

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

Excel-Dateidaten mit C# lesen

Frage:

Wie lese ich Excel-Dateidaten mit C#? Ich habe versucht, die Datei zu öffnen und in die Zwischenablage zu kopieren, bin mir aber nicht sicher, wie ich vorgehen soll.

Antwort:

Wenn Sie C# zum Lesen von Excel-Dateidaten verwenden, können Sie die folgenden Methoden in Betracht ziehen:

1. Excel-Objekt erstellen:

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

2. Arbeitsmappe und Arbeitsblatt öffnen:

<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. Greifen Sie auf Zellen als benannte Bereiche zu:

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

4. Zellenwert abrufen:

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

5. Zellen iterieren:

<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>

Aufräumen:

Denken Sie daran, Excel-Objekte in umgekehrter Reihenfolge ihrer Erstellung zu schließen und freizugeben, damit sie ordnungsgemäß entsorgt werden.

Beispiel:

<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>

Zusätzliche Hinweise:

  • Setzen Sie die Sichtbarkeit auf „false“, um zu verhindern, dass Excel angezeigt wird.
  • Erwägen Sie die Verwendung des OleDb-Anbieters als alternative Methode für den Zugriff auf Excel-Daten.
  • Um einen bestimmten Wert zu finden, verwenden Sie Excel.Cells.Find.

Das obige ist der detaillierte Inhalt vonWie lese ich Daten aus einer Excel-Datei mit C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn