Heim > Backend-Entwicklung > C++ > Wie liest man mit C# effizient Daten aus Excel-Dateien?

Wie liest man mit C# effizient Daten aus Excel-Dateien?

Susan Sarandon
Freigeben: 2025-01-11 16:37:41
Original
902 Leute haben es durchsucht

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

Excel-Datenextraktion mit C# beherrschen

Der effiziente Umgang mit Excel-Dateien in C# erfordert ein klares Verständnis benannter Bereiche. Anstatt sich auf die Array-Indizierung zu verlassen, nutzen Sie die Methode get_Range() für eine präzise Zellenauswahl.

Um beispielsweise auf Zelle A1 zuzugreifen:

<code class="language-csharp">Excel.Worksheet sheet = workbook.Sheets["Sheet1"] as Excel.Worksheet;
Excel.Range range = sheet.get_Range("A1", Missing.Value);</code>
Nach dem Login kopieren

range stellt jetzt Zelle A1 dar. Greifen Sie auf den Inhalt zu mit:

  • range.Text: Zeigt den formatierten Text der Zelle an.
  • range.Value2: Ruft den zugrunde liegenden Zellwert ab (unformatiert).

Durchlaufen eines Zellbereichs:

<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>
Nach dem Login kopieren

Verwenden Sie unbedingt Value2 anstelle von Value, um mögliche C#-Einschränkungen zu vermeiden.

Grundlegende Reinigung

Verhindern Sie Speicherlecks, indem Sie COM-Objekte nach der Verwendung freigeben:

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

if (excel != null)
    ExcelTools.OfficeUtil.ReleaseRCM(excel);</code>
Nach dem Login kopieren

ReleaseRCM ist eine benutzerdefinierte Funktion zum Freigeben von COM-Ressourcen.

Illustratives Code-Snippet

<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>
Nach dem Login kopieren

Wichtige Überlegungen

  • Verstecken Sie die Excel-Anwendung während der Verarbeitung, indem Sie die Objektsichtbarkeit auf false setzen.
  • Entdecken Sie OleDb als praktikable Alternative für den Excel-Datenzugriff.
  • In diesem Beispiel werden C#s Type.Missing für optionale Parameter verwendet.

Dieser erweiterte Ansatz gewährleistet eine effiziente und zuverlässige Excel-Datenverarbeitung in Ihren C#-Anwendungen.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage